function scope variable vs global scope variable 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");