Postman contains a powerful runtime based on Node.js that allows you to add dynamic behavior to requests and collections. This allows you to write test suites, build requests that can contain dynamic parameters, pass data between requests, and a lot more. You can add JavaScript code to execute during 2 events in the flow:
Users can add pre-request and test scripts to a collection, a folder, a request within a collection, or a request not saved to a collection.
In Postman, the script execution order for a single request looks like this:
For every request in a collection, scripts will execute in the following order:
For every request in a collection, the scripts will always run according to the following hierarchy: collection-level script (if any), folder-level script (if any), request-level script (if any). Note that this order of execution applies to both pre-request and test scripts.
For example, imagine you had the following collection structured with a single folder and 2 requests within the folder.
If you created log statements in the pre-request and test script sections for the collection, folder, and requests, you would clearly see the execution order in the Postman console.
Is this magic? No, it’s the Postman Sandbox. The Postman Sandbox is a JavaScript execution environment that is available to you while writing pre-request and test scripts for requests (both in Postman and Newman). Whatever code you write in these sections is executed in this sandbox.
Debugging scripts can be written under either the Pre-request Script tab or the Tests tab, with helpful messages logged in the Postman Console.