DEV Community

Cover image for Newman + Postman tests in CircleCI
Alexander Lazaris
Alexander Lazaris

Posted on

3 1

Newman + Postman tests in CircleCI

Running Postman tests in CircleCI

Ready the collection

  1. stored all urls + auth values as environment variables, ensuring each hardcoded value is replaced by it's respective variable
  2. added validations after each request to test status code + pass through response values
  3. export postman collection to a new folder. Hint: This new folder will become the git repo folder
var jsonData = JSON.parse(responseBody);
if (jsonData.access_token) {
    pm.environment.set("user_access_token", jsonData.access_token);
}

pm.test("Status code is 200");
pm.response.to.have.status(200);
Enter fullscreen mode Exit fullscreen mode

Newman ....

  1. npm init
  2. npm install newman
  3. test run the collection using ./node_modules/.bin/newman run collectionfile.json
  4. each env variable won't have a value at this point. To populate them, append --env-var envVariableName=envVariableValue to the run cmd above. These will later be added + stored in CircleCI.
  5. add npm test which contains the full run cmd above
  6. stored all of the above files in a git repo and pushed

`"test": "newman run 'postman_collection.json' --env-var --reporters junit,cli"

Is it coming together now?

  1. sign up to circleci using GitHub
  2. create project linked to github repo
  3. create config.yml file which contains circleci instructions. Use a Node template provided circleci or create your own.
  4. create env variables in CircleCI project, matching the exact name they had in Postman AND in npm test

Alt Text

had to include screenshot of config.yml contents as I don't know how to retain indenting in markdown

Time to trigger the tests

  1. the lovely feature of building for each PR commit is enabled by default in circleci
  2. final directory files + folders is clean & minimal. Mine is: Alt Text
  3. trigger a build by committing to the repo

End result:

Alt Text

Well, apart from the failed test due to bad test data, it all worked as expected!

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (1)

Collapse
 
erikburdett profile image
Erik Burdett

Is there any chance you could expand on how you set those env variables for your postman tests/requests? I'm working on a similar pipeline and can't get my vars set correctly.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay