When we hit any request in Postman, we should verify response code, response time , value of an attribute in response etc. These assertion helps to test the expected behavior of API. In this post, we will see some mostly used code snippets in Postman scripts to validate response.
Code snippet to assert status code of API:-
// To verify if the status code is exactly same to 200
pm.test("Status code is 200", function () {
// Using Response Assertion API available in the test scripts
pm.response.to.have.status(200);
// Using explicit expect
pm.expect(pm.response.code).to.eql(200);
});
Code snippet to assert name of status code of API:-
// To verify if the status code contains a string. For ex:- 201 (created), 200(OK)
pm.test("Status code contains name", function () {
// Using Response Assertion API available in the test scripts
pm.response.to.have.status("OK");
// Using explicit expect
pm.expect(pm.response.status).to.eql("OK");
});
Code snippet to assert if status code is from a list of expected status code:
// To verify if the status code is from a list of expected status code
pm.test("Status code is either 200 or 201", function () {
pm.expect(pm.response.code).to.be.oneOf([201,200]);
});
Code snippet to assert by ignoring case:-
//To ignore case sensitive of string
pm.test("Status code contains name", function () {
pm.expect(pm.response.status.toLowerCase()).to.eql("OK".toLowerCase());
});
Code snippet to assert response time is below a value:-
// To verify response time is less than a value
pm.test("Response time is less than 1200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(1200);
});
Code snippet to assert response time is above a value:-
// To verify response time is above than a value
pm.test("Response time is above than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.above(20);
});
Code snippet to assert response time is between a range:-
// To verify response time is in between
pm.test("Response time is in between 20 and 1200ms", function () {
pm.expect(_.inRange(pm.response.responseTime, 20, 1201)).to.eql(true);
});
Code snippet to assert response size is not zero:-
// To verify response size is not zero
pm.test("Response size is not zero", function () {
pm.expect(pm.response.responseSize).to.not.equal(0);
});
Code snippet to assert presence of a string anywhere in response:-
// To assert response contains a string
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("[email protected]");
});
Code snippet to assert presence of a header in response:-
// To check if any header is present in response
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
Code snippet to assert value of a response header:-
// To assert value of a header
pm.test("Value of Content-Type", function () {
pm.response.to.be.header("Content-Type","application/json; charset=utf-8");
pm.expect(pm.response.headers.get("Content-Type")).to.eql("application/json; charset=utf-8");
});
Code snippet to assert presence of a cookie:-
pm.test("Presence of cookies",function(){
pm.expect(pm.cookies.has('__cfduid')).to.be.true;
pm.expect(pm.cookies.has('someNonExistCookie')).to.be.false;
})
Code snippet to assert value of a cookie:-
pm.test("Assert value of cookies",function(){
pm.expect(pm.cookies.get('__cfduid')).to.eql("dc3773fcc3c41c26665ec1903a18adcb91542173209");
})
Code snippet to assert response body is a JSON Object or JSON array:-
// To assert if response body is an object or array
pm.test("Response body is a json object or array",function(){
pm.expect(pm.response.json()).to.be.an('object')
pm.expect(pm.response.json()).to.be.an('array')
})
Code snippet to assert exact response body:-
// To assert exact respone body
pm.test("Assert exact response body",function(){
pm.response.to.have.body('{'+
'"id": 8,'+
'"email": "[email protected]"');
})
Note:- JavaScript does not support multiline string. So you must need to use concatenation as shown above.
#ThanksForReading
Thanks for covering most of them at one place.. This post is really helpful