本主题解释如何从“从通讯报文生成参数化消息”向导中的“消息分组评审”页自定义分组标准。
本章包含:
自定义分组:概要
若要自定义分组标准:
请打开分组标准对话框(比如,通过单击 Add 或 Duplicate,或双击)现有的分组条件项。
如果需要,定制响应器/测试客户端和/或将要生成的数据集的名称。
在“分组标准”选项卡中,根据需要修改分组标准。每个分组标准条目都可以通过以下任意组合来指定分组:HTTP 方法、URL 路径、URL 参数和/或请求体。
分组策略 说明 HTTP Methods Grouping Configuration Virtualize: 指定确定是否处理消息的 HTTP 方法。
SOAtest: 按 HTTP 方法对消息进行分组。自动禁用 HTTP 方法分组标准的自定义,以防止使用混合方法(例如 POST 和 GET)创建组。
URL Paths Grouping Configuration Virtualize: 指定 URL 路径,该路径将确定是否处理消息。
SOAtest: 按 URL 路径对消息进行分组。
URL Parameters Grouping Configuration Virtualize: 指定 URL 参数,该参数将确定是否处理消息。您可以配置相关性以匹配包含特定参数(无论它们被设置为什么)的所有信息,或者,仅匹配设置为特定值的特定参数的消息。还可以指出,如果请求具有 确切的 的 URL 参数(不多也不少),是否应该应用相关性。
SOAtest: 根据 URL 参数对消息进行分组,URL 参数将决定是否处理消息。您可以配置标准来包含包含特定参数的所有消息(无论它们被设置为什么值),或者只包含将特定参数设置为特定值的消息。还可以指出,如果请求具有 确切的 的 URL 参数(不多也不少),是否应该包括消息。
Request Body Grouping Configuration Virtualize: 指定消息内的 Xpaths,该 Xpaths 将确定是否处理该消息。
SOAtest: 使用 Xpaths 对消息进行分组。
若要查看检测到的消息的详细信息,请打开“消息详情”选项卡并选择相关的消息块。
HTTP 方法分组配置
HTTP 方法分组标准适用于将通过 HTTP/HTTPS 访问的资产。
若要配置 HTTP 方法关联性:
- 选择 Enable correlation 多选框。
- 指定要用于关联的 HTTP 方法。
例如,如果选择 GET、POST 和 PUT,则响应程序将匹配具有方法 GET、POST 或 PUT 的 HTTP 请求。 具有 CONNECT、DELETE、HEAD 等的 HTTP 请求将不匹配。
URL 路径分组配置
URL 路径标准适用于将通过 HTTP/HTTPS 访问的资产。
若要配置 URL 路径关联性或分组:
- 请启用 Enable correlation 或 Use for grouping 选项。
指定要用于关联或分组的路径和端点。
例如,假设端点或虚拟资产部署在 http://myserver:9080/MyAsset/MyPath路径下。
路径 /segment1/segment2/**
也在响应器关联中指定。
以下 URL 将匹配此关联标准:
http://myserver:9080/MyAsset/MyPath/segment1/segment2
http://myserver:9080/MyAsset/MyPath/segment1/segment2/
http://myserver:9080/MyAsset/MyPath/segment1/segment2/segment3?param1=value1&m2=value2
以下 URL 将不匹配:
http://myserver:9080/MyAsset/MyPath/segment1/
http://myserver:9080/MyAsset/MyPath/segment3/segment1/segment2
在 * 匹配 0 或更多字符以及 ** 匹配 0 或更多路径的地方可使用任何风格的通配符。使用此格式:
/**/abc
匹配 /abc
或 /this/that/abc
/abc/**
匹配 /abc
或 /abc/this/that/theother
/ab**
不匹配 /abc/d
(它被解释为您使用了单个星号 /ab*
); 匹配 /absolutely
/**bc
不匹配 /0/abc
(它被解释为您使用了单个星号 /*bc
);匹配 /abc
示例 1:**/service/*
匹配 | 不匹配 |
---|---|
service/Repository | org/web/service/foo/bar/Entries |
示例 2:org/parasoft/virtualize/**
匹配 | 不匹配 |
---|---|
org/parasoft/virtualize/tools/service org/parasoft/virtualize/stuff | org/parasoft/somethingelse |
示例 3:org/parasoft/**/EM/*
匹配 | 不匹配 |
---|---|
org/parasoft/EM/Entries | org/parasoft/EM/foo/bar/Entries |
URL 参数分组配置
URL 参数标准适用于将通过 HTTP/HTTPS 访问的资产。若要配置 URL 参数关联性或分组:
- 请启用 Enable correlation 或 Use for grouping 选项。
- 如果希望仅当请求具有此表中指定的 确切 URL 参数时才应用关联或分组(不多也不少),则启用 Correlate only when the list of parameters matches exactly 或 Include only when the list of parameters matches exactly 选项。否则,任何包含列出的参数和其他参数的请求都将相互匹配。无论该选项是启用的还是禁用的,缺乏其中一条指定参数的消息都将不匹配。
- 单击 Add 按钮。将显示一个新的条目行。
- 输入 。
- 请进行下列其中一项操作:
- 如果想匹配在其中设置了特定值的消息:在 Value下输入其值。
- 如果想匹配所有包含此参数的消息(无论设置为什么值):请启用 Correlate whenever the parameter name is present (regardless of value) 或 Include in group whenever the parameter name is present (regardless of value)。
Virtualize 示例
对于部署在路径下的资产 http://myserver:9080/MyAsset/MyPath
,响应器中指定了以下 URL 参数:
参数名称 | 值 |
---|---|
param1 | value1 |
param2 | value2 |
以下请求 URL 将匹配此关联或分组标准:
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=value2
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=value2¶m3=value3
- http://myserver:9080/MyAsset/MyPath?param2=value2¶m1=value1¶m3=value3
以下 URL 将不匹配:
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=someothervalue1¶m3=value3
- http://myserver:9080/MyAsset/MyPath?param1=value1&m3=value3
请求体分组配置
若要从请求体配置基于 Xpath 函数的消息关联或分组:
- 请启用 Enable correlation 或 Use for grouping 选项。
- 点击 Edit 按钮。将打开一个 Edit XPath Function 对话框。
- 请进行下列其中一项操作:
- 从元素树中选择一个元素,并从函数下拉菜单中选择一个函数。如果显示传入请求消息的树表示形式,请使用此选项。
手动提供 XPath 表达式。如果树表示不可用,或者树没有完全显示用于提取和计算的感兴趣的元素或属性,则使用此选项。用于关联/分组目的的 XPath 表达式基于 W3C 的标准 XPath 1.0 标准。
请注意,在左侧面板中显示了几种类型的请求:
- Archetypal Requests: 表示在分析通讯报文文件时检测到的不同消息结构变化的消息的选择。
- Messages in this Group: 来自当前正在配置其分组标准的消息组的消息。如果组没有任何消息,则不可用。
- All Messages: 来自通讯报文文件的所有消息。