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:

  1. Open the Grouping Criteria dialog (for example, by clicking Add or Duplicate, or by double-clicking an existing grouping criteria entry).

  2. If desired, customize the name of the responder/test client and/or data set that will be generated.

  3. 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 StrategyDescription
    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 (for example, 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 (for example, both POST and GET).  

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:

  1. Enable Enable correlation or Use for grouping.
  2. 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/*

MatchesDoes Not Match

service/Repository
org/web/service/Entries
org/something/else/tools/stiff/service/Entries

org/web/service/foo/bar/Entries 

/org/web/service

Example 2: org/parasoft/virtualize/**

MatchesDoes Not Match

org/parasoft/virtualize/tools/service

org/parasoft/virtualize/stuff

org/parasoft/somethingelse

Example 3: org/parasoft/**/EM/*

MatchesDoes 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/*

MatchesDoes Not Match

GET /v1/orders
GET /v1/orders/111-111-111

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:

  1. Enable Enable correlation or Use for grouping.
  2. 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 Correlate only when the list of parameters matches exactly or Include only when the list of parameters matches exactly. 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.


  3. Click Add. A new entry row appears.
  4. Enter the Parameter Name.
  5. Do one of the following:
    1. If you want to match messages where this parameter is set a specific value: Enter that value under Value.
    2. 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).

SOAtest Example

For an endpoint of http://myserver:9080/MyAsset/MyPath, the following URL Parameters are specified in the grouping criteria:

Parameter NameValue
param1value1
param2value2
The following request URLs will match this correlation or grouping criteria:

  • http://myserver:9080/MyAsset/MyPath?param1=value1&param2=value2
  • http://myserver:9080/MyAsset/MyPath?param1=value1&param2=value2&param3=value3
  • http://myserver:9080/MyAsset/MyPath?param2=value2&param1=value1&param3=value3

The following URLs will NOT match:

  • http://myserver:9080/MyAsset/MyPath?param1=value1&param2=someothervalue1&param3=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:

  1. Enable Enable correlation or Use for grouping.
  2. Click Edit. An Edit XPath Function dialog opens.
  3. Do one of the following:
    • Choose an element from the Element tree and select a function from the Function 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 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.

  • No labels