本主题介绍如何从“从通讯报文生成参数化消息”向导中的“消息分组评审”页自定义分组标准。
章节目录:
自定义分组:概要
若要自定义分组标准:
请打开分组标准对话框(例如,通过点击添加或复制,或双击现有的分组条件项)。
如果需要,定制响应器/测试客户端和/或将要生成的数据集的名称。
在“分组标准”选项卡中,根据需要修改分组标准。每个分组标准条目都可以通过以下任意组合来指定分组: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:指定消息内用于确定是否处理消息的 Xpath。
SOAtest:使用 Xpath 对消息进行分组。
若要查看检测到的消息的详细信息,请打开“消息详情”选项卡并选择相关的消息块。
HTTP 方法分组配置
HTTP 方法分组标准适用于将通过 HTTP/HTTPS 访问的资产。自定义 HTTP 方法分组标准会自动禁用,以防止创建具有混合方法(例如 POST 和 GET)的组。
配置 HTTP 方法关联性:
- 勾选启用关联性。
- 指定要用于关联的 HTTP 方法。
例如,如果选择 GET、POST 和 PUT,则响应器将匹配具有方法 GET、POST 或 PUT 的 HTTP 请求。 具有 CONNECT、DELETE、HEAD 等的 HTTP 请求将无法匹配。
URL 路径分组配置
URL 路径标准适用于将通过 HTTP/HTTPS 访问的资产。
配置 URL 路径关联性或分组:
- 勾选启用关联性或用于分组。
指定要用于关联或分组的路径和端点。
例如,假设端点或虚拟资产部署在以下路径:
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 或更多字符以及 ** 匹配 1 或更多目录的情况下可使用任何风格的通配符。使用此格式:
/**/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 /org/web/service |
示例 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/virtualize/soatest/tools/EM/Entries | org/parasoft/EM/foo/bar/Entries |
示例 4:类似路径的相同方法
/v1/orders
/v1/orders/*
匹配 | 不匹配 |
---|---|
GET /v1/orders | GET /v1/orders/111-111-111/1 |
URL 参数分组配置
URL 参数标准适用于将通过 HTTP/HTTPS 访问的资产。若要配置 URL 参数关联性或分组:
- 勾选启用关联性或用于分组。
- 如果希望仅当请求具有此表中指定的确切 URL 参数时才应用关联或分组(不多也不少),则启用只有当参数的列表完全匹配时进行关联或只有当参数的列表完全匹配时才包括在组中。否则,任何包含列出的参数和其他参数的请求都将相互匹配。无论启用还是禁用该选项,只要缺乏其中一条指定参数的消息都无法匹配。
- 点击添加。将显示一个新的条目行。
- 输入参数名称。
- 请执行以下任一操作:
- 如果想匹配设置此参数的特定值的消息:在值下输入其值。
- 如果想匹配所有包含此参数的消息(无论设置为什么值):请启用当参数名称存在时进行关联 (不考虑具体值) 或当参数名称存在时包括在组中 (不考虑具体值)。
Virtualize 示例
对于部署在路径下的资产 http://myserver:9080/MyAsset/MyPath
,响应器中指定了以下 URL 参数:
参数名称 | 值 |
---|---|
param1 | value1 |
param2 | value2 |
SOAtest 示例
对于 http://myserver:9080/MyAsset/MyPath
的端点,分组标准中指定了以下 URL 参数:
参数名称 | 值 |
---|---|
param1 | value1 |
param2 | value2 |
- 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 函数的消息关联或分组:
- 勾选启用关联性或用于分组。
- 点击编辑。将打开一个编辑 Xpath 函数对话框。
- 请执行以下任一操作:
- 从元素树中选择一个元素,并从函数菜单中选择一个函数。如果显示传入请求消息的树表示形式,请使用此选项。
手动提供 XPath 表达式。如果树表示不可用,或者树没有完全显示用于提取和计算的感兴趣的元素或属性,则使用此选项。用于关联/分组目的的 XPath 表达式基于 W3C 的标准 XPath 1.0 标准。
请注意,在左侧面板中显示了几种类型的请求:
- 原始请求:表示在分析通讯报文文件时检测到的不同消息结构变化的消息的选择。
- 组中请求:来自当前正在配置其分组标准的消息组的消息。如果组没有任何消息,则不可用。
- 所有请求:来自通讯报文文件的所有消息。