本主题解释如何使用 Parasoft 事件详情透视图了解发生在虚拟化服务器上的事件(接收的请求消息、发送的响应消息、错误等等)以及部署在这些事件上的消息代理。此功能可用于本地和远程虚拟化服务器。

您可以确定监视哪个虚拟化服务器的事件,然后根据需要开始/停止报告这些细节。

本章包含:

启用事件监控器

默认情况下,Parasoft Virtualize 被配置为记录和报告与虚拟化服务器相关的事件。若要查看和修改事件监控设置:

  1. 请在 GUI 模式下启动虚拟化服务器。
  2. 在该GUI中,打开您希望可见的服务器的配置面板(双击其 Virtualize 服务器视图节点)。
  3. Server Configuration 选项卡,查看并修改可用选项:

启动/停止事件监视

启动

若要指示 Virtualize start 报告与虚拟资产或消息代理相关的事件,请执行以下操作之一:

注意相关的图标将 cфсhange 表明现在被监视。


停止

若要指示 Virtualize stop 报告与虚拟资产或消息代理相关的事件,请执行以下操作之一:

  • 您可以在虚拟资产级别或消息代理级别启动/停止监视事件。
  • 您可以选择多个虚拟资产,并使用一个右击命令启动/停止对所有虚拟资产的监视。

视频教程:监视和记录来自消息代理的流量

在本视频中,描述了如何监视和记录来自消息代理的流量。


查看和探索事件

Parasoft 事件详情透视图目的在于帮助您查看并探索发生在 Virtualize 服务器上的事件(接收的请求消息、发送的响应信息、错误,等等)。

可以用下面任一方式打开该透视图:

在事件日志视图中将按照被监视的事件发生的顺序对它们进行显示。事件报告包括:

您可以如下所示探索事件:

为实现这一目标...这样做...
有关事件的详细信息,请参阅在 Events Log 视图中选择相关事件
清除当前信息并启动一个新会话单击 Start New Log 按钮
查看最近的 5 个日志之一从事件日志的 History 下拉菜单选择合适的日志。

审查消息代理事件

查阅消息流经已部署的消息代理生成的事件有助于您了解正在测试的应用程序通过消息代理发送的流量。通常,通过消息代理传递的每个请求/响应消息对都会生成以下事件:

注意,如果将代理配置为将消息转发到虚拟资产端点,那么将生成相同的事件,并且消息目的地详细信息将包含 URL 或目的地详细信息,以表明这一点。  然而,如果接收代理消息的虚拟资产也受到监视,那么它将生成自己的事件(对于成功的事务,通常有 2 个:接收到的请求和发送的响应事件)。

筛选事件

您可以使用 Filters 视图中可用的控件将焦点对准要关注的事件。可以如下对事件日志进行筛选:

为实现这一目标...这样做...
限制事件日志中显示和保存的事件数量。修改 Max event count 值。
关注包含指定文本(区分大小写)“详情”的事件。Only events that contain 字段中输入字符串。
隐藏无法与虚拟资产或代理关联的消息。禁用 Unmatched messages。有关更多详情,请查阅下面的 About Unmatched Messages
只显示错误事件(错误来自不相关的消息或失败的验证)。启用 Errors only
显示/隐藏来自指定服务器、虚拟资产或响应程序的事件。启用/禁用 Events from checked sources 选项。


关于不匹配的消息

“不匹配的消息”是不能与虚拟资产或代理关联的消息。如果事件日志被设置为显示不匹配的消息,并且至少有一个虚拟资产或代理被配置为监视的,则报告的事件将包括以下情况:

如果 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> Help> Extensibility API来访问 Javadocs。

将第三方监视系统与虚拟化事件监视集成在一起

Virtualize 服务器事件监视利用 JMS 代理。可以使用任何兼容 JMS 的代理对其进行配置,以促进服务器和事件订阅者之间的事件通信。如果使用了 Parasoft 内置提供程序(默认配置),那么您可以在第三方应用程序中使用以下配置,以便通过 JMS 订阅 Virtualize 服务器事件:

JNDI Connection URL: tcp://VirtualizeHostName:61617
JNDI Initial Context class: org.apache.activemq.jndi.ActiveMQInitialContextFactory JMS Connection Factory: ConnectionFactory
Destination Name: PARASOFT_SERVER_EVENTS
Destination type: Topic

注意,Virtualize 主机端口是在服务器启动时根据可用性动态分配的。若要检查实际端口号,请打开服务器的配置页面(从 Virtualize 服务器视图中)或打开服务器首选项页面(选择 Parasoft> Preferences然后选择  Parasoft> Server)。


由 Virtualzie 服务器事件监视服务发布的 JMS 消息是 XML 格式的。如果您只对特定的事件类型感兴趣,则您可以使用 JMS 选择器表达式只接收满足条件的事件:

属性名消息类型
请求true | false虚拟资产接收到的请求
proxy_requesttrue | false代理接收到的请求
响应true | false虚拟资产发送的响应
proxy_responsetrue | false代理发送的响应
失败true | false响应器中的失败事件(例如,验证失败)或代理连接错误事件
错误true | false错误事件(不是特定于虚拟资产或代理的任何错误)

例如,如果您想订阅虚拟资产、故障和错误的请求和响应消息(而不是代理消息事件),您可以使用以下表达式:

创建消费者时,JMS 选择器表达式可以传递给 JMS 会话对象:

Parasoft 事件详情透析图 - GUI 参考

Parasoft 事件详情 UI 默认打开以下视图:

事件日志视图

这个区域显示虚拟化相关事件,如消息发送、消息接收或错误。此处选择一个项目将在详情视图中显示更多信息。最近的 5 个日志被保存并可用。

例如,下面的日志显示了 Virtualize 服务器事件:

下面的日志显示了 Virtualize 服务器事件和 SOAtest 测试事件(用于启用事件日志功能的 SOAtest 执行的测试):

详情视图

此视图提供有关在事件日志视图中选择的事件的更多信息。

筛选视图

此视图允许按照 Filtering Events中所描述的那样过滤事件。