Variables & Variable processing
Int4 Suite provides a unique solution for managing data in test automation without any coding, only based on configuration. This is called the Variable concept and is a key element in Automation Object configuration.
Basics of Variable processing
Variable itself is a placeholder for data element, that can be tightly coupled with the tested message.
It is possible for a single variable definition to store multiple values, for example when a Variable is mapped to a field in a document that occurs multiple times.
Variable processing occurs in a context of test case execution, based on the definition in the relevant Automation Object
Variables can be used to parametrize other Automation Object settings. To use variable value in parameter enter variable name in curly braces.
Example: using variable ‘RFC’ in HTTP Destination parameter
Read
This step is used to set the initial value of the variable and bind it with the document, for example by reading a specific field from the test case input. This step can
Replace
In this step, variable value can be changed. If the variable is bound to the test message, the message content will be also updated
Populate after
Variable value can be updated after the test execution. This is used to get specific data from the test execution (e.g. read the number of backend document created by inbound EDI message). Such value can be used in subsequent test cases.
Find
This is a special step, dedicated for Outbound test cases. It allows Int4 Suite to locate messages in the tested system based on the Variable value. For example, if we’re doing and outbound test, we’re usually looking to find a message that relates to tested process.
Please note that not all combinations of Variable processing steps make sense. There are certain patterns for common usage scenarios.
Creation of Variables
Variables are defined in the Automation Object.
Create - creates new Variable
Edit - allows edition of Variable details
Delete - removes a variable
Basic Variable definition
Name - technical name of variable, alphanumeric, for consistency please use only capital letters
Description - free form text description of variable
Type - basic variable type
Read & Replace - used for typical scenario to update variable before test execution (e.g. to update a sequential number in a document for unique identification)
Find Message - used for outbound scenarios to find messages in the integration layer
Custom - used for custom variable processing definition
Scope - variable scope
Test case - variable is processed for every test execution
Test run - variable is processed only once within a test run
Editing Variable definition details
Clicking on the edit button brings up a new screen, allowing to define details of Variable processing.
Top part of the screen contains basic Variable settings.
Middle part of the screen contains definition for variable processing logic.
Bottom part of the screen enables Variable testing.
Variable testing
Provide the test case in the “Test case” field and click “Refresh”. This will simulate Variable behaviour in the current Automation Object, taking input data from the selected test case.
Variable processing settings
The tables below summarize all possible processing definitions.
Read
Processing definition | Usage |
---|---|
Concatenate | Concatenate one or more value of variables and constant text. |
Constant | Provide the value to fill in the Variable |
Read Variable from saved message (XPath) | Provide the XPath/JSONPath or Flat file processing definition to locate the data in the saved input message |
Read Variable from message header (XPath) | Provide the XPath/JSONPath or Flat file processing definition to locate the data in the saved input message header |
Read Variable from saved response (XPath) | Provide the XPath/JSONPath or Flat file processing definition to locate the data in the saved output message |
Read Variable from saved resp. header | Provide the XPath/JSONPath or Flat file processing definition to locate the data in the saved output message header |
Read Variable from previous test case | Provide the name of Variable in previous (parent) test case to be loaded in the current Variable during test execution - this will need to match all the variable values |
Read Variable from previous TC (filtered) | Provide the name of Variable in previous (parent) test case to be loaded in the current Variable during test execution - this will need to match just one value (use for one-to-many scenarios) |
Read secure parameter | Reads the value of secure parameter into the Variable. Please note that test report will not show the variable value, to ensure parameter security |
Read user defined value from cockpit | Using this option will enable entering the value for such a Variable from APITester Cockpit before test execution |
Replace
Processing definition | Usage |
---|---|
Concatenate | Concatenate one or more value of variables and constant text. |
Replace value with constant | Provide the value to fill in the Variable |
Generate date | Loads current date into the variable. Use the search help icon: To open a pop-up which allows to specify date format and date value calculation logic. Read below for more details. |
Replace value based on value mapping | Provide the name of the Mapping Object to be used for value replacement. Read this manual section for more details: Int4 Suite Configuration | Define Mapping Objects activity |
Generate GUID | Used to generate a unique identifier |
Generate value from number range | Select the number range within the Automation Object definition to be used for number generation. Read this manual section for more details: Automation Objects | Number Ranges |
Add prefix | Specify a prefix string to be added to current variable content |
Generate random number | Generates a random number |
Read variable from previous test case | Provide the name of Variable in previous (parent) test case to be loaded in the current Variable during test execution |
Read secure parameter | Reads the value of secure parameter into the Variable. Please note that test report will not show the variable value, to ensure parameter security |
Add suffix | Specify a suffix string to be added to current variable content |
Read value from SY structure | Read the value of the system status structures of the ABAP Application server. Choose an item from the dropdown |
Read parameter value from TVARVC | This enables reading parameter data from |
Read user defined value from cockpit | Using this option will enable entering the value for such a Variable from APITester Cockpit before test execution |
Controlling the generated date
Format allows to specify date format, using D, M, Y as placeholder for days, months and years.
Base date can be selected, according to needs.
Offset allows to control days offset from the base date.
Populate after
These steps are executed following the test case execution and capture of the test output (e.g. after an UI script is ran, after the response/output message is captured, after database validation is executed - depending on the configuration of Automation Object)
Processing definition | Usage |
---|---|
Concatenate | Concatenate one or more value of variables and constant text. |
Read variable from DB res (XPath) | Specify XPath to database structure to capture the value from DB comparison report |
Read variable from eCATT Export Param | Specify variable name from eCATT export parameters. This is only available when executing eCATT scripts locally on the same system where Int4 Suite operates! |
Read variable from eCATT log (XPath) | Specify XPath to locate data in eCATT execution log XML |
Read message ID | Reads the generated message ID, read from the integration platform, for the injected message |
Read variable from outbound msg (XPath) | Specify XPath/JSONPath or Flat file expression to read value from the outbound/response message payload |
Read variable from resp. header | Specify XPath/JSONPath or Flat file expression to read value from the outbound/response message header |
Read outb. message ID | Reads the generated message ID, read from the integration platform, for the outbound message |
Read variable from Selenium Script | Read data generated from Selenium Script, based on Selenium Script variable |
Find
These definitions drive the message identification on the integration platform. They do not modify Variable content. They require the variable to be populated.
Based on the Variable content and selected processing, Int4 Suite will use different logic to identify whether the messages found on the interface specified by the Automation Object are relevant for that specific test case execution.
Processing definition | Usage |
---|---|
Concatenate | Concatenate one or more value of variables and constant text. |
Find using Tracked Field | Used to locate messages in the Boomi platform, using specific Tracked Field name. Such field must be defined in Boomi for the relevant interface for this to work. |
Find using XPath | Specify XPath/JSONPath or Flat file expression to locate value field to be compared with Variable value. The values in specified field and in the Variable must be identical. |
XPath value contains Variable | Specify XPath/JSONPath or Flat file expression to locate value field to be compared with Variable value. The values in specified field will be matched if any portion of it contains the Variable |
Variable contains XPath value | Specify XPath/JSONPath or Flat file expression to locate value field to be compared with Variable value. The values in specified field will be matched if any portion of it is contained in the Variable |
© 2017 - 2022 Int4 AG All rights reserved