本主题介绍如何使用 Parasoft 事件详情透视图了解发生在 Virtualize 服务器上的事件(接收的请求消息、发送的响应消息、错误等等)以及部署在这些事件上的消息代理。此功能可用于本地和远程 Virtualize 服务器。
您可以确定监控哪个 Virtualize 服务器的事件,然后根据需要开始/停止报告这些细节。
章节目录:
启用事件监控
默认情况下,Parasoft Virtualize 被配置为记录和报告与 Virtualize 服务器相关的事件。若要查看和修改事件监控设置:
- 请在 GUI 模式下启动 Virtualize 服务器。
- 在该 GUI 中,通过双击相应的 Virtualize 服务器视图节点打开您想要显示的服务器的配置面板。
- 在服务器配置选项卡查看并修改可用选项:
- 启用事件监控服务:启用/禁用此服务器的。事件监控默认启用。
- 事件监控提供者:指定事件监控服务使用的提供者。默认情况下,将使用基于 ActiveMQ 的内置提供者。若要使用另一个提供者,请从可用选项列表中选中,然后完成适用的字段。
- 端口:默认的服务端口号 9617,但是如果该端口正在使用,则会根据可用性自动分配不同的端口号。您还可以通过在启动时在 JVM 参数中设置以下属性手动配置端口:
parasoft.event.monitoring.broker.port=<port>
- 启用事件监控服务:启用/禁用此服务器的。事件监控默认启用。
启动/停止事件监控
启动
若要指示 Virtualize 开始报告与虚拟资产或消息代理相关的事件,请执行以下操作之一:
- 右键点击 Virtualize 服务器视图中的资产或代理,选择开始监控。
- 在代理或资产的配置面板中,点击开始监控。
注意相关图标将发生变化,表明现在正在对其进行监控。
停止
若要指示 Virtualize 停止报告与虚拟资产或消息代理相关的事件,请执行以下操作之一:
- 右键点击 Virtualize 服务器视图中的资产或代理,选择停止监控。
- 在代理或资产的配置面板中,点停止监控。
提示
- 您可以在虚拟资产级别或消息代理级别启动/停止监控事件。
- 您可以选择多个虚拟资产,并使用一个右键点击命令启动/停止对所有虚拟资产的监控。
视频教程:监控和录制来自消息代理的通讯报文
在本视频中,描述了如何监控和录制来自消息代理的通讯报文。
查看和浏览事件
Parasoft 事件详情透视图目的在于帮助您查看并浏览发生在 Virtualize 服务器上的事件(接收的请求消息、发送的响应消息、错误,等等)。
可以用下面任一方式打开该透视图:
- 点击快捷菜单栏(工作台右上角)中的 Parasoft 事件细节按钮。
- 点击快捷菜单栏中的打开透视图,选择其他,然后在打开的选择透视图对话框中选择 Parasoft 事件细节。
- 选择窗口> 打开透视图> 其他,然后在打开的选择透视图对话框中选择 Parasoft 事件细节。
在事件日志视图中将按照被监控的事件发生的顺序进行显示。事件报告包括:
- 接收到的请求消息
- 发送的响应消息
- 数据源使用(例如,响应消息中使用的数据源行)
- 错误事件(请求与消息没有关联、发送了无效消息等等)
- 提供操作套件执行事件(有关操作套件的详情,请参阅定义配置操作
您可以如下所示探索事件:
目的... | 操作... |
---|---|
查看事件详情 | 在事件日志视图中选择相关事件 |
清除当前信息并启动一个新会话 | 点击开始新的日志 |
查看五份最新日志中的一份 | 从事件日志的历史菜单选择相应日志。 |
查看消息代理事件
查阅消息流经已部署的消息代理生成的事件有助于您了解被测应用程序通过消息代理发送的通讯报文。通常,通过消息代理传递的每个请求/响应消息对都会生成以下事件:
- 请求已接收:指示消息代理接收的消息。提供有关接收消息的 HTTP 路径或队列名称、Virtualize 服务器主机名和消息的详细信息。
- 代理请求已发送:指示代理已将消息转发到其预期的目标服务目的地。详细信息包括目的地和消息内容。
- 代理响应已接收:指示代理已收到目标服务的响应。
- 响应已发送:指示代理已将从服务接收到的响应转发给原始调用方(AUT)。
注意,如果将代理配置为将消息转发到虚拟资产端点,那么将生成相同的事件,并且消息目的地详细信息将包含 URL 或目的地详细信息,以表明这一点。然而,如果接收代理消息的虚拟资产也受到监控,那么它将生成自己的事件(对于成功的事务,通常有两个:接收到的请求和发送的响应事件)。
过滤事件
您可以使用过滤器视图中的控件,关注特定事件。可以如下对事件日志进行过滤:
目的... | 操作... |
---|---|
限制事件日志中显示和保存的事件数量。 | 修改事件最大数量值。 |
关注包含指定文本(区分大小写)“详情”的事件。 | 在仅包含特定内容的事件字段中输入字符串。 |
隐藏无法与虚拟资产或代理关联的消息。 | 禁用不匹配的消息。详情请参阅下面的About Unmatched Messages。 |
只显示错误事件(错误来自不相关的消息或失败的验证)。 | 启用仅限错误。 |
显示/隐藏来自指定服务器、虚拟资产或响应器的事件。 | 启用/禁用来自已检查源的事件选项。 |
关于不匹配的消息
“不匹配的消息”是不能与虚拟资产或代理关联的消息。如果事件日志被设置为显示不匹配的消息,并且至少有一个虚拟资产或代理被配置为受监控,则报告的事件将包括以下情况:
- 没有虚拟资产或代理可以处理消息。
- 一个或多个虚拟资产处理了一条消息,但未能找到匹配的响应器。
如果 Virtualize 服务器接收到的消息 a) 不匹配虚拟资产或代理路径范围,或者 b) 匹配虚拟资产或范围,但 .pva 中没有响应器具有匹配此消息的响应器关联性标准,则记录两个事件:
- 带有消息内容(标记为“未识别消息”)的“请求已接收”传入消息事件。
- 带有详细信息的“错误返回”错误事件。
报告自定义事件
扩展工具(如用于自定义脚本的扩展工具中所述)可以用来通过调用给定的 com.parasoft.api.ScriptingContext
对象的 report(IEvent)
方法报告自定义事件到事件日志上。
Jython 示例:
from com.parasoft.api import Event def test(input, context): context.report(Event("Here I am!"))
更多信息,请参阅 Extensibility API Javadocs 中的 com.parasoft.api.ScriptingContext
和 com.parasoft.api.IEvent
。可以通过前往 Parasoft> 帮助> 可扩展性 API 来访问 Javadocs。
将第三方监控系统与虚拟化事件监控集成在一起
Virtualize 服务器事件监控利用 JMS 代理。可以使用任何兼容 JMS 的代理对其进行配置,以促进服务器和事件订阅者之间的事件通信。如果使用了 Parasoft 内置提供者(默认配置),那么您可以在第三方应用程序中使用以下配置,以便通过 JMS 订阅 Virtualize 服务器事件:
JNDI Connection URL: tcp://VirtualizeHostName:9617 JNDI Initial Context class: org.apache.activemq.jndi.ActiveMQInitialContextFactory JMS Connection Factory: ConnectionFactory Destination Name: PARASOFT_SERVER_EVENTS Destination type: Topic
注意,Virtualize 主机端口是在服务器启动时根据可用性动态分配的。若要检查实际端口号,请打开服务器的配置页面(从 Virtualize 服务器视图中)或打开服务器首选项页面(前往 Parasoft> 首选项,然后点击服务器)。
由 Virtualize 服务器事件监控服务发布的 JMS 消息是 XML 格式的。如果您只对特定的事件类型感兴趣,则您可以使用 JMS 选择器表达式只接收满足条件的事件:
属性名 | 值 | 消息类型 |
---|---|---|
Request | true | false | 虚拟资产接收到的请求 |
proxy_request | true | false | 代理接收到的请求 |
响应 | true | false | 虚拟资产发送的响应 |
proxy_response | true | false | 代理发送的响应 |
失败 | true | false | 响应器中的失败事件(例如,验证失败)或代理连接错误事件 |
错误 | true | false | 错误事件(不是特定于虚拟资产或代理的任何错误) |
例如,如果您想订阅虚拟资产、故障和错误的请求和响应消息(而不是代理消息事件),您可以使用以下表达式:
- request=true 或 response=true 或 failures=true 或 error=true
创建消费者时,JMS 选择器表达式可以传递给 JMS 会话对象:
- javax.jms.Session.createConsumer(destinationName, selectorExpression, true);
Parasoft 事件详情透视图 - GUI 参考
Parasoft 事件详情 UI 默认打开以下视图:
事件日志视图
这个区域显示虚拟化相关事件,如消息发送、消息接收或错误。此处选择一个项目将在详情视图中显示更多信息。将保存并提供最近的 5 个日志。
例如,下面的日志显示了 Virtualize 服务器事件:
下面的日志显示了 Virtualize 服务器事件和 SOAtest 测试事件(用于启用事件日志功能的 SOAtest 执行的测试):
详情视图
此视图提供有关在事件日志视图中选择的事件的更多信息。
过滤视图
此视图允许按照过滤事件中的说明过滤事件。