Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Don't Allow a Collection Run to Continue if a Required Resources is Unusable or Does Not Exist

Assuming The postman.setNextRequest() method can be used to control the flow to a test other than the next test in the list.  See this blog on Postman Conditional Workflows and even better it can be used to stop a collection run saving the user the pain of looking at a series of tests fail because an earlier test in the run failed.

For example, assume a data domain is created at the start of a test run and is required for the following tests in a Postman collection run, this code block will stop the run if the domain is not created:

Code Block
languagejs
titleSimple Example
tests["Status code is 201/202"] = responseCode.code === 201 || responseCode.code === 202;

if (responseCode.code != 201 && responseCode.code != 202) {
    tests["Scrap this run:  Domain not created"] = true === false;
    postman.setNextRequest(null);
}
Code Block
languagejs
titleMore Complex Example
tests["Status code is 201/202"] = responseCode.code === 201 || responseCode.code === 202;

if (responseCode.code == 201 || responseCode.code == 202) {
    //
    // #1: do stuff like make sure there is a response body and
    // retrieve env vars to be used by other tests in this
    // collection
    //
}
else {
    //
    // #2: Bail on the collection run
    //
    tests["Scrap this run:  Domain not created"] = true === false;  
    postman.setNextRequest(null);
}
//
// #3: Could add more extensive stuff beyond #1 here
//

...