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 (e.g., 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 (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.

To configure the HTTP methods correlation:

  1. Select the Enable correlation check box.
  2. 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:

  1. Enable the Enable correlation or Use for grouping option.
  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 the Enable correlation or Use for grouping option.
  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 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.



     
  3. Click the Add button. A new entry row displays.
  4. Enter the Parameter Name.
  5. Do one of the following:
    1. If you want to match messages where this parameters 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).


Virtualize Example

For an asset deployed under the path http://myserver:9080/MyAsset/MyPath, the following URL Parameters are specified in a responder:

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 the Enable correlation or Use for grouping option.
  2. Click the Edit button. An Edit XPath Function dialog displays.
  3. 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.

  • No labels