本主题介绍如何配置和应用事件监控工具,该工具跟踪系统内部的事件(例如,ESB、Java 应用程序、数据库等),并允许您将它们作为 SOAtest 端到端测试场景的一部分。章节目录:
了解事件监控器
事件监控工具提供了对中介消息的可见性,而不需要直接访问消息传递系统的接口。此外,您可以应用可用的工具集来验证消息是否满足功能期望。
SOAtest 为监控许多系统提供内置支持,包括:
- TIBCO 企业消息系统
- Sonic 企业服务总线系统
- Oracle Service Bus
- Software AG webMethods Broker
- IBM WebSphere ESB
- 其他基于 JMS 的系统
- Java 应用程序
- 关系数据库
您还可以配置该工具来监控任何基于 API 的自定义事件源,例如来自其他供应商的非 JMS 系统、自定义日志框架等。
事件监控器应该始终定位为测试套件中的第一个测试。
如果您想要监控多个目标组件(例如,Java 方法调用和 JMS 主题),那么您可以将多个事件监控器添加到您的测试套件中,并相应地配置每个事件监控器。
若要配置,则需要告诉 SOAtest 如何连接到您的系统,以及希望它监控什么。
当您运行测试套件时,SOAtest 将启动事件监控器,然后在测试套件的测试执行时保持它的运行。SOAtest 在指定的事件/消息发生时监控并报告。然后可以链接其他工具来验证或进一步处理所监控的事件/消息。
工具配置
配置过程取决于所监控的系统类型。此工具可用于:
通过向测试套件添加额外的事件监控器并相应地配置每个事件监控器来监控多个目标组件。
测试套件执行
测试套件执行是事件监控工具的典型和推荐用法。在测试套件中添加事件监控器工具,并将其作为测试步骤前的第一个测试,以便开始监控。当选择并运行父测试套件时,事件监控器将在适当的步骤中自动启动,并在测试套件中的其他测试执行时继续监控。当以下两个事件中的第一个发生时,它将停止:
- 测试套件中的最后一个测试(或者数据源中的最后一行,如果测试套件测试在一个数据源上迭代)已经完成执行,最后一个事件已经被检索,监控连接已经被销毁。
- 已达到最大监控执行持续时间(此值在工具的“选项”选项卡中配置)。
不需要将事件监控器的父测试套件设置为同时运行测试。SOAtest 将自动将事件监控器识别为一个特殊的工具,并相应地管理它的并发执行。
独立/临时执行
可以配置事件监控器的连接设置,并在 SOAtest 之外运行目标系统时独自执行监控器。例如,在手动浏览应用程序的 Web 接口时,您可能希望在后端中间件系统中监控 JMS 消息。
若要查看实时记录的事件,请打开事件查看器选项卡。事件监控工具的运行时间将在“选项”选项卡的监控器最大执行时间 (毫秒):设置下设置。当使用每次测试执行后查询模式启用自定义事件源选项时,这种临时执行不适用。
查看监控事件
事件将在事件监控器工具配置面板中的事件查看器选项卡中报告和显示。
如需实时查看受监控的事件,请在测试执行期间打开事件查看器选项卡(在事件监控器工具的配置面板中)。
有两个选项卡可用:图形视图和文本视图。
在图形化视图中,点击事件以查看消息详细信息。
如果没有看到图形化视图
默认情况下,如果您有独立的 SOAtest(相对于插件),或者您的 Eclipse 安装了 Eclipse GEF,那么图形化视图是可用的。您可以在 http://www.eclipse.org/gef/ 下载并安装 Eclipse GEF。
使用数据源
事件监控器本身不能用数据源参数化。但是,如果测试套件内包含事件监控工具的测试是可参数化的,它就会在第一个实际测试(在事件监控工具测试之后)和第一个数据源行执行之前开始监控,并在所有数据源行使用完毕后停止监控。这确保了无论测试在测试套件中如何迭代,您都将获得一个连续的事件日志。
从其他平台检索事件
事件监控工具具有可扩展性挂钩,该挂钩允许此工具从各种来源获取事件,而不只是它所支持的内置平台和系统。详情请参阅可扩展性 API 模式。
验证监控信息
如果事务正确执行,则可以为所监控的消息添加回归控件,如配置回归测试中所述。此外,您还可以添加验证,如添加测试输出中所述。验证工具中列出了可用的验证工具。
您还可以在事务执行时监控系统(例如,从 Web 接口触发事务),然后从这些消息自动生成测试。这包括了用于事务入口/出口点的测试,以及对事务中间部分的测试。通过这种方式,您可以快速地重现问题,快速地创建具有真实值的测试,然后隔离系统,并围绕事务的各个部分和组件创建回归测试。有关如何做到这一点的详细信息,请参阅: