Postman is one of the greatest tools ever to test your API, I have always been testing everything I have created first and always with the postman.
For this demo, and before we start configuring our pipeline we have to create a collection so that we can use it in our pipeline.
This article will explain step by step how :
- Create API Project (Net 5)
- Create And Export Postman Collection
- Create Azure Pipeline
Add new Man script / export test results
Create API Project (Net 5) :
To demonstrate our flow we are going to use the default template provided by the API project that contains a weather controller .
As you can see we have our list here now, that contains data about weather, now it’s time to test this with the postman and create the tests.
Create And Export Postman Collection
First of all, we need to install a postman.
Next , in order to retrieve our list , we are going to create a get request :
http://localhost:7173/WeatherForecast
Now as you can see we have a status of 200 OK and we have 5 items as result , now we are going to create a simple test that will make sure our list must return 200 ok and the count of 5 objects .
Now ,In test Tab we are going to insert the follow code :
var jsonResponse = pm.response.json(); pm.test("5 results are returned", () => { pm.expect(jsonResponse).to.have.lengthOf(5); //pm.environment.set("variable_key", "variable_value"); }); pm.test("Http status 200", () => { pm.response.to.have.status(200); });
Now , we now our list return 5 items , if for example our list should return 4 item and we return 5 we should get as result :
Now it’s time to export our collection .
To do that , right clique on the collection and clique on export :
When exporting the collection we will have a JSON file that we are going to use later in our pipeline.
Now we are done with our postman collection it’s time to create the pipeline.
Create Azure Pipeline
Now in the last step we are going to create our azure pipeline, for that I will share the code below :
trigger: - master pool: vmImage: ubuntu-latest steps: - task: CmdLine@2 continueOnError: true inputs: script: | sudo apt-get install -y bash sudo npm install newman --global newman run ./demonewpan/postmancollection/Testing.postman_collection.json --reporters cli,junit --reporter-junit-export junit-report.xml sleep 40 - task: PublishTestResults@2 displayName: 'Publish Test Results for postman' inputs: testResultsFormat: 'JUnit' testResultsFiles: '**/*.xml' mergeTestResults: true failTaskOnFailedTests: false
And as we can see the pipeline was built successfully and the result of the test is published and we can find them in the test tab.
And as we can see we have published the result on Tests Tab.
This was all about adding the Newman Tests to our pipeline.