top of page
hand-businesswoman-touching-hand-artificial-intelligence-meaning-technology-connection-go-
Writer's pictureumasirisha

Newman with Postman

Today let me introduce a man(tool) called Newman , whose is friend (command line companion) of Postman.



Why do we use CLI over GUI?

We should admit that GUI is visually attractive and easily understood. But, for some tasks which are vital, CLI is way more powerful. Here are some reasons,

  • It needs fewer resources

  • It ensures high precision

  • It handles repetitive task easily

  • It can be Integrate with CI/CD build systems

We can then integrate Postman with your CI/CD build system using Newman, the command-line collection runner for Postman.

Running postman tests using Newman to integrate with Jenkins

Now that you have completely convinced about need of newman , let’s see how to install it !!!

Newman is a tool built by the team behind Postman so that you can run Postman collections from the

command line.

It is also maintained by the Postman team and has feature parity with Postman, which means that you should be able to do anything in Newman that you can in Postman.

However, Newman is not installed when you install Postman, so you need to do it separately.

Installing Newman:

Newman is built into Node.js. So we need to install Node.js first. One of the main feature of Node.js is the package manager. The Node.js package manager, or npm, makes it easy for programmers to publish and share their Node.js code.

To download Node.js go to https://nodejs.org/en/download/ and download node-v16.15.1-x64.msi from LTS as per operating system. Once you have downloaded the installer, run it in the same way you would install any other program on your operating system. You can keep all the defaults on the install wizard.

To verify installations ,open commad prompt and type commands node -v, npm -v.

Commands to verfy Node.js and npm installations

To install Newman , we can install Newman using npm. By default, npm installs the package so that it is only available in the current folder, but there are options that let you change the scope of where it is installed. The most used of these options is — global (or it’s shortcut, -g), which will install the package globally.

Command to install newman

With this command , Newman will be installed and ready for you to use. Please verify installation using newman -v command.

Great job Installing Newman, Let’s see how to use it!!!

Steps to run the postman collection in Newman :

In Postman , create a collection of requests.

Method 1:Export the collection as .json file as shown below.

Steps to show how to export collection as .json

Once you saved the .json file, open command prompt -> go to the folder where .json file is saved. Use the below command ,

> newman run <filename>.json

Example: newman run SampleCollectionDemo.postman_collection.json

Medhod 2: We can also run postman collection using link. Get the link as shown below.

Steps to show how to get the collection JSON link

Once you copied the link , open command prompt and Use the below command,

>newman run <JSONlink>

Result will be displayed after executing the command . Sample results are as below,

Run results in console

Reporting in Newman :

The point of test automation is to be able to improve a product’s quality based on the results we get. We need reports to summarise how well our tests are doing and list of all failure tests with proper information. Newman has several built-in reporter options. Available reporters are: cli, emojitrain, progress, junitand json.

we can use these option name followed by -r

Example: newman run <filename.json> -r json

Cli reporter is implicit , means even if don’t mention anything in the run command default it display cli report is displayed in console.(as above pic- ‘Run results in console’)

Progress reporter will give you a progress bar in the console while the tests run.

progress report

Emojitrain reporter prints out the progress as an emoji, but it is hard to get an emoji to display correctly in a Command Prompt, so it won’t be much use.

emojitrain report

json and junit reporters create .json and .xml reports respectively in our working directory under which we are running these commands. All these 5 are built-in with newman ,it allows you to use externally developed reporters.

Along with built-in reporters, Newman allows us to install external developed reporters such as csv reporter,htmlextra,teamcity reporter,confluence reporter etc.

Let’s install htmlextra reporter using below command ,

>npm install -g newman-reporter-htmlextra

We can use it to generate reports with the below run command,

>newman run <collectionfile.json> -r htmlextra

Report will be stored in newman folder in working directory. This will give you a nice dashboard summarizing the results of your run.

Sample html extra report

Various Run options in newman run :

* Using environments [“-e”] :

We can create environment in postman with common variable used in the collect and export environment as .json file.


we can include this environment in run command as below,

> newman run <collectionfile.json> -e <environmentfile.json>

Example: >newman run SampleCollectionDemo.postman_collection.json -e SampleEnvironmentDemo.postman_environment.json

* Using Data-Driven files [“-d”]:

We can create data files as .csv or .xls and use them in the run with below command,

> newman run <collectionfile.json> -d <datafile.csv>

Example: >newman run SampleCollectionDemo.postman_collection.json -d DataDrivenInputs.csv

* Specific folder [“-folder”] :

We can run only specific folder under a collection using below command,

>newman run <collectionfile.json> — folder <foldername>

Example: newman run SampleCollectionDemo.postman_collection.json — folder GetReqs

* Request Delay [“ — delay-request”] :

We can create delay between request execution by using the below command,

>newman run — delay-request [delayinMilliSeconds]<collectionfile.json>

Example:> newman run — delay-request 5 SampleCollectionDemo.postman_collection.json

* Iteration Count[“-n”]:

We can run the collection multiple times by using the below command,

>newma run <collectionfile.json> -n [numberOfIterations]

Example : > newman run SampleCollectionDemo.postman_collection.json -n 5

* Explore more options :

We have discussed few options , we can see and explore all the run options which we can find using command >newman run -h

Newman run oprions listed with -h

Integrating Newman into CI builds :

As mentioned earlier , the real power of running in command line comes in being able to automatically kick off and schedule runs. Let’s see how to integrate with jenkins.

Steps to get started with jenkins,

  1. Go to https://www.jenkins.io/ , download LTS generic package .war file.

  2. Run java -jar jenkins.war , first time when you run you need to give password provided in console and configure jenkins.

  3. Once jenkin is up and running , open the http://localhost:8080/ and log in to jenkins.

Once you login to jenkins → create new item → give the name and select type → ok

New item in Jenkins

Next page ,we can select build → select Execute windows batch command → given the newman run command.

Sometime when we run newman command in jenkins we get unicode characters in jenkin console output , so we are using — disable-unicode option in our run command to avoid those unicode characters.

configuring newman run command in jenkins

Then Apply and save.

Now we can run our postman test collections from jenkins.

Conclusion: In this article we learned advantages of using Newman, how to install, run postman collections ,reporting feature , using various run options and finally how to integrate it with CI (jenkins).

2,448 views4 comments

Recent Posts

See All

4 Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Sarala SureshKumar
Sarala SureshKumar
Jul 18, 2022

Very clearly explained. Nice blog Uma. 👏

Like
umasirisha
umasirisha
Aug 10, 2022
Replying to

Thanks Sarala

Like

Pradnya Kavale
Pradnya Kavale
Jul 18, 2022

Well explained, Easy To understand Blog. Nice work Uma!

Like
umasirisha
umasirisha
Aug 10, 2022
Replying to

Thanks Pradnya

Like
bottom of page