1. How do we run multiple newman/postman collections
sequentially (back to back) at one run?
Batch running multiple newman/postman test collections:
Create a batch file like this and run:
call newman run Collection1.postman_collection.json -e qa1.postman_environment.json -r htmlextra --reporters cli,junit,htmlextra --reporter-htmlextra-export TestReport1.html -d TestData1.csv
call newman run Collection2.postman_collection1.json -e
qa2.postman_environment1.json -r htmlextra --reporters cli,junit,htmlextra
--reporter-htmlextra-export TestReport2.html -d TestData2.csv
Side note: Give a shot to https://medium.com/@mnu/run-multiple-postman-collection-in-parallel-stress-ee20801922ed
in case you would like to run it in parallel (P.S. haven’t tried this yet)
2. How can we set environment variable based on another
environment variable value? Like for QA1, we need accountNo say "123" but for QA2, we need accountNo say "345", etc.
pm.test("Set environment variable_value based on Env
type.", function () {
if
(pm.environment.get('env') == 'qa1') {
pm.environment.set("variable_key", "variable_value");
} else if
(pm.environment.get('env') == 'qa2') {
pm.environment.set("variable_key",
"variable_value");
} else if
(pm.environment.get('env') == 'qa3') {
pm.environment.set("variable_key",
"variable_value");
}
});
3. How to set request workflows?
When you start a collection run, all requests are run in
the order you see them in Postman. So, all requests are executed first, by
order of the folder, and then any requests in the root of the collection.
However, you can override this behavior using a built-in function called postman.setNextRequest(“request_name”). This function, as the name suggests, allows you to specify which request runs next.
NOTE: Name of the request should be exactly same as you have
written while naming the request as it is case sensitive.
More details: https://learning.postman.com/docs/running-collections/building-workflows/
4. How to skip test based on environment?
There are many ways to achieve it but the easiest one would
be setting the env variable and use that in your script, like:
const skipTest= pm.environment.get('env') == 'Prod';
(skipTest ? pm.test.skip : pm.test)("Check Prod
requests", function()
{
const response = pm.response.json();
pm.expect(response.key).to.eql(“XXXX-XXX”);
});
5. How to set delay while running a collection?
newman run collection.json --delay 10000
6. How can we run specific folder(s) inside a collection?
Use the argument: --folder
<name>
Run requests within a particular folder or/and folders or specific requests in
a collection. Multiple folders or requests can be specified by using --folder
multiple times, like: --folder f1 --folder f2
Sample:
newman run "<<yourCollection.postman_collection.json>>"
-e <<yourEnvironment.postman_environment.json>> --folder "<<folderName1>>
--folder "<<folderName2>>" -r htmlextra --reporters
cli,junit,htmlextra --reporter-htmlextra-export TestReport.html
7. Looking for an extensive report after your execution run?
Please check here: https://github.com/DannyDainton/newman-reporter-htmlextra
It comes with a nice dashboard style. It is very precise and concise one- I love it.
Nice. Do you have an example of #1 in javascript, not shell?
ReplyDeleteGive a shot to this https://community.postman.com/t/required-to-run-multiple-collection-through-newman/10792/6
Delete