本主题说明如何为通过 Software AG webMethods 代理传输的事件配置监视。此监视需要管理客户机组特权。本章包含:
向 SOAtest 类路径添加所需的 Jar 文件
需要将以下 jar 文件添加到 SOAtest 类路径中:
- wmbrokerclient.jar
- g11nutils.jar
这些 jar 文件可以在 [webmethods install dir]/Broker/lib/下找到。有关更多详情,请参阅 webMethods Broker Client Java API Programmer's Guide> Getting Started> Using the webMethods Broker Java API。
若要将这些 jar 文件添加到 SOAtest 的类路径,请完成以下操作:
- 选择 Parasoft> Preferences。
- 打开 Parasoft> System Properties 页面。
- 单击 Add JARS 按钮,选择并勾住需要添加的 JAR 文件。
配置事件监控器
- 请双击事件监视器工具,打开工具配置面板。
- 单击 Event Source 选项卡并配置以下设置。
- 从平台下拉菜单选择 Software AG webMethods Broker。根据需要调整配置字段值。字段与 webMethods 工具中使用的字段相同,如 webMethods中所述。
使用过滤器和通配符
事件监视器使用 BrokerAdminClient 来监视事件。默认情况下,它订阅“admin”客户端组。因此,如果希望根据事件的内容筛选事件,应该将客户端组值更改为允许订阅常规事件类型(而不是跟踪)的值。这是因为在使用 Broker::Trace::* events
时,过滤器字符串将应用于跟踪代理事件中的字段,而不是它们所表示的原始事件。
在完成事件类型字段时,请记住,根据 WebMethods Broker 客户机 Java API 程序员指南,不允许对 Broker::Trace 或 Broker::Activity 事件类型使用通配符。如果希望监视一组事件类型,请指定允许订阅访问所需事件类型的客户端组名称(可能不是默认的“admin”客户端组设置),然后使用通配符提供事件类型。例如,您可以使用 Sample::*
还可以在字符串中使用 ${data bank column name}
变量。SOAtest 将用数据库值替换它,以便过滤器字符串可以基于其他测试的输出具有动态值。
有关过滤器和在事件类型名称中使用通配符的详细信息,请参阅 WebMethods Broker 客户机 Java API 程序员指南。
配置事件监视选项
Clear the event viewer before each event monitor run | 启用此选项,可在事件监视器启动监视时自动清除事件监视器事件视图(包括文本和图形)。 |
---|---|
Include test execution events in the XML event output to chained tools | 启用此选项,达到仅在事件查看器选项卡和 XML 输出显示中显示受监视的消息和事件。此选项还指示每次测试启动和完成的时间。如果您在测试套件中有多个测试,并且希望更好地识别事件并将它们与您的测试执行关联起来,那么启用该选项非常有帮助。 |
Wrap monitored messages with CDATA to ensure well-formedness of the XML event output | 如果您不希望被监视事件的消息内容是格式良好的 XML,则启用此选项。禁用此选项将使事件中的消息可以通过 XPath 访问,从而允许 XML 转换器提取消息内容或使用 XML 断言器工具进行验证。 如果消息内容不是 XML,则启用此选项。这 确保了事件监控工具的 XML 输出(即,用于将链接工具链接到事件监视器的 XML 事件输出(而不是事件查看器下显示的内容)是格式良好的 XML,它转义了所有消息内容。这将使 XPath 无法访问这些消息的内容,因为从技术上讲,消息只是父元素的字符串内容。 Diff 工具的 XML 模式支持 XML 字符串内容。因此, Diff 工具仍然能够将消息区分为 XML 格式,包括使用 XPath 忽略值的功能,即使禁用了该选项。 |
Maximum time to wait for the monitor to start (milliseconds) | 指定在 SOAtest 运行套件中的其他测试之前,事件监视器应该等待 连接到事件源的最大时间长度 。这使 SOAtest 能够为这些测试捕获事件,并防止在事件监视器连接到它的事件源时过度阻塞其他测试的执行。如果连接到事件源花费的时间超过默认值,则增加该值。默认为 3000 。 |
Maximum monitor execution duration (milliseconds) | 指定测试应该超时的点。例如,如果测试套件中的另一个测试挂起,或者没有运行其他测试(例如,如果您在测试套件之外执行事件监视器测试,那么使用自定义应用程序向系统发送消息)。 |
Event polling delay after each test finishes execution (milliseconds) | 此字段不适用于 Software AG webMethods Broker。 |
支持的事件类型
使用管理客户端组权限,事件监控工具可以订阅以下事件类型:
- Broker::Ping
- Adapter::ack
- Adapter::adapter
- Adapter::error
- Adapter::errorNotify
- Adapter::refresh
- Broker::Trace::Publish
- Broker::Trace::Enqueue
- Broker::Trace::Drop
- Broker::Trace::Receive
- Broker::Trace::PublishRemote
- Broker::Trace::EnqueueRemote
- Broker::Trace::ReceiveRemote
- Broker::Activity::TerritoryChange
- Broker::Activity::ClientChange,
- Broker::Activity::ClientGroupChange
- Broker::Activity::EventTypeChange
- Broker::Trace::Insert
- Broker::Trace::Delete
- Broker::Trace::Peek
- Broker::Trace::DropRemote
- Broker::Trace::Modify
- Broker::Activity::ClientSubscriptionChange
- Broker::Activity::RemoteSubscriptionChange
注意,您还可以配置 webMethods 工具(如 webMethods中所述)来订阅所需的事件类型。唯一的区别是使用 webMethods 工具时,您需要提供特定的事件类型名称。