How the scope of a variable is defined ? code example
Example 1: variable scope
1-GLOBAL variables allow you to access data
between collections, requests, test scripts,
and environments. Global variables are
available throughout a workspace.
2-COLLECTION variables are available throughout
the requests in a collection and are independent
of environments, so do not change based on the selected environment.
I use collection variables when
I use single environment like url details.
We can refer to the variable by using {{}}(double curly brace)
and it can be used anywhere
3-ENVIRONMENT Variable , a variable that accessible
only when the environment is active
Usually used for an app with multiple environment ,
we can use env variable to store variable with same name
and different value to store environment specific data
for example :
xxxNamed app has 3 environments with different
URL and Crendentials
But all endpoints are exactly the same no matter what
environment you work on
so we can create 3 environment called
QA1 , QA2 , QA3 and run same set of request
by selecting different environment.
Only one environment can be active at a time.
4-LOCAL variables are temporary, and only
accessible in your request scripts.
Local variable values are scoped to a
single request or collection run, and are no longer
available when the run is complete.
5-DATA variables come from external CSV and JSON files
to define data sets you can use when running collections
via the Collection Runner.
Example 2: how to define scope variables
-Use pm.globals to define a global variable:
pm.globals.set("variable_key", "variable_value");
-Use pm.collectionVariables to
define a collection variable:
pm.collectionVariables.set("variable_key", "variable_value");
-Use pm.environment to define an environment
variable (in the currently selected environment):
pm.environment.set("variable_key", "variable_value");
-You can use unset to remove a variable:
pm.environment.unset("variable_key");
-Defining local variables
Local variables are temporary values you set
in your request scripts using the following syntax:
pm.variables.set("variable_key", "variable_value");