Global variables and Execution profile
Global variables are pre-defined values that are accessible across all test cases, test objects, web service objects, and email configurations in a project. They are used to execute test scripts in multiple and different environments.
For example, in a test case, you can use global variables to input data for keywords in Manual view (see highlighted in blue), or to input parameters when binding data for test execution (see highlighted in red).
In Katalon Studio, global variables are defined in execution profiles to configure the testing environment in terms of data and behaviors.
This document shows you how to work with global variables and execution profiles in Katalon Studio.
Create a profile
The following guide shows you how to create a profile to add global variables.
View a profile
Execution profile is provided with Manual view and Script view.
In the Script view, an XML editor is available for adding variables via script. To ensure consistency in testing different environments, you can copy and paste the list of global variables from one profile to another.
Use global variables in test execution
By selecting an execution profile, you can define global variables for executing a test case, test suite, and test suite collection in different scenarios. Katalon Studio uses the default profile by default as indicated on the main toolbar.
In test case and test suite
Select your desired profile from the main toolbar. This setting applies to all test cases and test suites within your project.
In a test suite, you can only select 1 specific profile to apply to all test cases in that test suite. For example, in this test suite, you can execute 3 test cases using the default profile at a time.
In test suite collection
In a test suite collection, you can assign which profile to apply to each test suite in the Profile column.
Scope of global variables
The scope of Global variables is applied in a test suite collection (TSC).
Katalon Studio defines global variables in an execution profile. In a test suite collection, you can assign different profiles to each test suite. During the runtime, modifying the value of global variables in one test suite will not impact the values of global variables in other test suites within the TSC.
You can find "Test Suites/New Test Suite (1)" is listed twice in the following screenshot. The first one uses "default," and the second one has "stagging". Any changes made in profile "default" will not impact profile "stagging". These two test suites run independently without affecting each other. This association confirms Global variables and Profile are Test Suite scoped.
For command-line interface (Katalon Runtime Engine )
Select your desired profile in the Profile option of Command Builder.
You can also manually change the executionProfile
argument in the generated command.
In test object
To use a global variable in a test object, enter the syntax ${GlobalVariable.name}
in the supported selection methods.
- In the HTTP Body of an API test object:
- In the Selected Locator of a WebUI test object:
- In a Web service request path:
Use escaping and special characters
To use a special character like $
or \
as a regular one in any place that calls global variables, prepend it with a backslash: \
(the so-called escape character).
{
"productName": ${GlobalVariable.productName},
"unit": "\\bottle\",
"quantity": 50,
"discount": ${ if (productName == "wine") { return 30 } else { return 0}}
"note": "Currency unit of ${GlobalVariable.productName} is \$."
}
- Without
\
: note: Currency unit of ${GlobalVariable.productName} is $. - With
\
: note: Currency unit of wine is $.
Set default profile at project level
From Katalon Studio v7.4.2, you can set a default profile at the project level.
A default profile is where you store commonly used global variables. Other profiles can either inherit or override the global variables stored in the default one.
You may have multiple profiles for executing your tests, for instance, staging and production profiles. It would be convenient to set a profile as your default one in every execution of a project.
Right-click on your desired execution profile and select Set as default Execution Profile.
The selected profile becomes a default execution profile for test case, test suite, and test suite collection in that project.
The setting is also applied to Command Builder for Katalon Runtime Engine.
Inherit profile
Profile inheritance reduces your effort spent on modification and recreation of the same global variables in derived profiles. Suppose Katalon Studio does not find variables used in the test within the designated profile (any profiles but default). In that case, it will look into the default profile and use its variables to execute the test.
Commonly used global variables should be stored in the default profile. The following examples illustrate how the profile inheritance feature works.
Given the following test case:
Execution default profile in use:
The result is shown as below:
Execute staging and production profile with the given test case:
When executing the staging and production profiles, the name, serverURL, and credential variables are overridden (highlighted in red), while the usage and reference variables are inherited (highlighted in blue) from the global variables in the default profile.
Staging profile:
The result is shown as below:
Production profile:
The result is shown as below: