This topic explains how to customize grouping criteria from the Message Grouping Review page in the "Generate Parameterized Messages from Traffic" wizard.
Sections include:
Customizing Grouping: Overview
To customize grouping criteria:
Open the Grouping Criteria dialog (e.g., by clicking Add or Duplicate, or by double-clicking) an existing grouping criteria entry.
If desired, customize the name of the responder/test client and/or data set that will be generated.
In the Grouping Criteria tab, modify the grouping criteria as desired. Each grouping criteria entry can specify grouping by any combination of the following: HTTP Methods, URL Paths, URL Parameters, and/or Request Body.
Grouping Strategy Description HTTP Methods Grouping Configuration Virtualize: Specifies HTTP methods that will determine whether or not the message is processed.
SOAtest: Groups messages by HTTP methods. Customization of HTTP methods grouping criteria is automatically disabled to prevent the creation of groups with mixed methods (e.g., both POST and GET).
URL Paths Grouping Configuration Virtualize: Specifies URL paths that will determine whether or not the message is processed.
SOAtest: Groups messages by URL paths.
URL Parameters Grouping Configuration Virtualize: Specifies URL parameters that will determine whether or not the message is processed. You can configure the correlation to match all messages that include specific parameters (no matter what value they are set to), or only match messages where specific parameters are set to specific values. You can also indicate whether a correlation should be applied if the request has the exact URL parameters present—no more and no less.
SOAtest: Groups messages by URL parameters that will determine whether or not the message is processed. You can configure the criteria to include all messages that include specific parameters (no matter what value they are set to), or only include messages where specific parameters are set to specific values. You can also indicate whether a message should be included if the request has the exact URL parameters present—no more and no less.
Request Body Grouping Configuration Virtualize: Specifies XPaths within the message that will determine whether or not the message is processed.
SOAtest: Groups messages using XPaths.
To see the details of the detected messages, open the Message Details tab and select the related message block.
HTTP Methods Grouping Configuration
HTTP methods grouping criteria apply to assets that will be accessed over HTTP/HTTPS.Customization of HTTP methods grouping criteria is automatically disabled to prevent the creation of groups with mixed methods (e.g., both POST and GET).
To configure the HTTP methods correlation:
- Select the Enable correlation check box.
- Specify the HTTP methods you want to use for correlation.
For example, if GET, POST, and PUT are checked, the responder will match HTTP requests with the method GET, POST, or PUT. HTTP requests with CONNECT, DELETE, HEAD, etc. will not match.
URL Paths Grouping Configuration
URL path grouping criteria apply to assets that will be accessed over HTTP/HTTPS.
To configure the URL path correlation or grouping:
- Enable the Enable correlation or Use for grouping option.
Specify the path and endpoint you want to use for correlation or grouping.
For example, assume that an endpoint or virtual asset is deployed under the following path:
http://myserver:9080/MyAsset/MyPath
The following path is also specified in the responder correlation:
/segment1/segment2/**
The following URLs will match this correlation criteria:
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
The following URLs will NOT match:
http://myserver:9080/MyAsset/MyPath/segment1/
http://myserver:9080/MyAsset/MyPath/segment3/segment1/segment2
Ant-style wildcards can be used, where * matches one or more characters and ** matches one or more directories. Using this format:
/**/abc
matches /abc
or /this/that/abc
/abc/**
matches /abc
or /abc/this/that/theother
/ab**
DOES NOT match /abc/d
(it is interpreted as if you used a single asterisk /ab*
); it does match /absolutely
/**bc
DOES NOT match /0/abc
(it is interpreted as if you used a single asterisk /*bc
); it does match /abc
Example 1: **/service/*
Matches | Does Not Match |
---|---|
service/Repository | org/web/service/foo/bar/Entries /org/web/service |
Example 2: org/parasoft/virtualize/**
Matches | Does Not Match |
---|---|
org/parasoft/virtualize/tools/service org/parasoft/virtualize/stuff | org/parasoft/somethingelse |
Example 3: org/parasoft/**/EM/*
Matches | Does Not Match |
---|---|
org/parasoft/EM/Entries org/parasoft/virtualize/soatest/tools/EM/Entries | org/parasoft/EM/foo/bar/Entries |
Example 4: Same method for similar paths
/v1/orders
/v1/orders/*
Matches | Does Not Match |
---|---|
GET /v1/orders | GET /v1/orders/111-111-111/1 |
URL Parameters Grouping Configuration
URL parameter grouping criteria apply to assets that will be accessed over HTTP/HTTPS. To configure the URL parameters correlation or grouping:
- Enable the Enable correlation or Use for grouping option.
- If you want the correlation or grouping to be applied only if the request has the exact URL parameters specified in this table—no more and no less—enable the Correlate only when the list of parameters matches exactly or Include only when the list of parameters matches exactly option. Otherwise, any request that contains listed parameters as well as other parameters will match. Whether this option is enabled or disabled, a message that lacks one of the specified parameters will not match.
- Click the Add button. A new entry row displays.
- Enter the Parameter Name.
- Do one of the following:
- If you want to match messages where this parameters is set a specific value: Enter that value under Value.
- If you want to match all messages that include this parameter (no matter what value they are set to): Enable Correlate whenever the parameter name is present (regardless of value) or Include in group whenever the parameter name is present (regardless of value).
Virtualize Example
For an asset deployed under the path http://myserver:9080/MyAsset/MyPath,
the following URL Parameters are specified in a responder:
Parameter Name | Value |
---|---|
param1 | value1 |
param2 | value2 |
SOAtest Example
For an endpoint of http://myserver:9080/MyAsset/MyPath,
the following URL Parameters are specified in the grouping criteria:
Parameter Name | Value |
---|---|
param1 | value1 |
param2 | value2 |
The following request URLs will match this correlation or grouping criteria:
- 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
The following URLs will NOT match:
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=someothervalue1¶m3=value3
- http://myserver:9080/MyAsset/MyPath?param1=value1&m3=value3
Request Body Grouping Configuration
To configure a message correlation or grouping based on XPath function from the request body:
- Enable the Enable correlation or Use for grouping option.
- Click the Edit button. An Edit XPath Function dialog displays.
- Do one of the following:
- Choose an element from the Element tree and select a function from the Function drop-down menu. Use this option if a tree representation of the incoming request message is displayed.
Provide an XPath expression manually. Use this option if a tree representation is not available or if the tree does not fully display interesting elements or attributes for extraction and evaluation. The XPath expressions supported for correlation/grouping purposes is based on the standard XPath 1.0 standard by W3C.
Note that several categories of requests are shown in the left hand panel:
- Archetypal Requests: A selection of messages that represent the different message structure variations that were detected when analyzing the traffic file.
- Messages in this Group: Messages from the message group whose grouping criteria you are currently configuring. This is not available if the group doesn’t have any messages.
- All Messages: All the messages from the traffic file.