Global variables are variables that are accessible from all your Synthetic tests. They can be used in all single and multistep API tests as well as browser tests of your test suite. To create a global variable, go to the Global Variables tab in the Settings page, and click New Global Variable on the upper right corner.
Choose the type of variable you want to create:
Enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores. This name should be unique across your global variables.
Enter a Description for your variable (optional).
Select Tags to associate with your variable (optional).
Enter the Value you want to assign to your variable.
Enable obfuscation of your variable to hide its value on test results (optional).
You can create variables from your existing HTTP tests by parsing their associated response headers and body or from your existing Multistep API tests by using their extracted variables.
Enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores.
Enter a Description for your variable (optional).
Select Tags to associate with your variable (optional).
Enable obfuscation of your variable to hide its value on test results (optional).
Select the test you want to extract a variable from.
If you are using a multistep API test, extract your local variable from the test. If you are using an HTTP test, choose to extract your variable from the response header or the response body.
Extract the value from Response Header: Use the full response header for your variable or parse it with a regex.
Extract the value from Response Body: Parse the response body of the request with a regex, a jsonpath, an xpath, or use the full response body.
Extract the value from the Response Status Code.
In addition to extracting a value with a regex, you can also use a regex to parse the following:
Match not only the first instance of a pattern, but also all instances of the supplied pattern
Ignore the case of the matching pattern
Match strings over multiple lines
Treat the passed regex pattern as unicode
Allow period symbols to identify new lines
Match from a given index within a regex pattern
Substitute the matching pattern with a supplied value
Variable values are updated whenever the test they are extracted from runs.
To generate and use a TOTP in your tests, create a global variable where you enter a secret key or upload a QR code from your authentication provider.
In Choose variable type, select MFA Token.
In Define Variable, enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores.
Enter a Description for your variable (optional).
Select Tags to associate with your variable (optional).
Enter the Secret Key to your variable or upload a QR code image.
Click + Generate to create an OTP. You can copy the generated OTP with the Copy icon.
Once created, global variables can be used in all Synthetic tests. To import your global variables into your test, click + Variables, type {{ in a field you want to add the variable, and select your global variable.
By default, only users with the Datadog Admin and Datadog Standard roles can access the Synthetic Monitoring Global Variables page. You can get access to the Global Variables page by having your user upgraded to one of those two default roles.
Restrict access
Access restriction is available for customers using custom roles on their accounts. If you are using the custom role feature, add your user to any custom role that includes synthetics_global_variable_read and synthetics_global_variable_write permissions.
You can restrict access to a global variable based on the roles in your organization. When creating a global variable, choose which roles (in addition to your user) can read and write your global variable in Permissions settings.
Your options include all of the available managed locations Datadog offers and the private locations you set up for your account.
When you are done selecting locations, click Save Default Locations.
Default browsers and devices
Choose the default browser and device types for your browser test details.
Your options for browsers include Google Chrome, Firefox, and Microsoft Edge. Your options for devices include a large laptop, a tablet, and a small mobile device.
When you are done selecting browsers and devices, click Save Default Browsers & Devices.
When you are done selecting related tags, click Save Default Tags.
Permissions
By default, only users with the Datadog Admin and Datadog Standard roles can access the Synthetic Monitoring Default Settings page. To get access to the Default Settings page, upgrade your user to one of those two default roles.
If you are using the custom role feature, add your user to any custom role that includes synthetics_default_settings_read and synthetics_default_settings_write permissions.
Integration settings
APM integration for browser tests
Allow URLs to add APM integration headers to those URLs. Datadog’s APM integration headers allow Datadog to link browser tests with APM.
Define which endpoints you want to send the APM headers to by entering a URL in the Value field. If the endpoint is being traced and is allowed, your browser test results are automatically tied to its corresponding trace.
Use * to allow wider domain names. For example, adding https://*.datadoghq.com/* allows everything on https://datadoghq.com/. When you are done adding URLs, click Save APM Integration Settings.
To allow Datadog to collect RUM data from your test runs, click Enable Synthetic RUM data collection. If disabled, you cannot edit the RUM setting in the browser test recorder. When you are done enabling data collection, click Save RUM Data Collection.
Select a RUM application from the Default Application dropdown menu that collects browser test data. When you are done specifying a default application, click Save RUM Data Applications.
By default, only users with the Datadog Admin and Datadog Standard roles can access the Synthetic Monitoring Integration Settings page. To get access to the Integration Settings page, upgrade your user to one of those two default roles.
If you are using the custom role feature, add your user to any custom role that includes synthetics_default_settings_read and synthetics_default_settings_write permissions.
Further Reading
Additional helpful documentation, links, and articles: