Postman中文网站 18221674630

Postman接口测试之断言(二)

发布者:Postman中文网站 时间:2023-09-05

上节我们讲到了断言的基础概念及设置方法,详情请看这篇文章《Postman接口测试之断言(一)》。  

接下来介绍一些常用的断言写法。  

1响应状态码断言  

pm.test("Statuscodeis200",function(){  

pm.response.to.have.status(200);  

});  

//或者  

tests["Statuscodeis200"]=responseCode.code==200;  

说明:用于判断响应的状态码是否符合预期。  

下面示例中这段代码的意思是,如果响应的状态码为200,那么这个接口测试通过,运行结果中显示Statuscodeis200。实际测试过程中,根据你的实际情况修改这里的状态码和提示信息。  

1.png  

2验证响应中是否含有指定字符串  

pm.test("Bodymatchesstring",function(){  

pm.expect(pm.response.text()).to.include("string_you_want_to_search");  

});  

//或者  

tests["Bodymatchesstring"]=responseBody.has("string_you_want_to_search");  

说明:用于判断返回的内容中是否含有指定的字符串。  

如下图,如果返回的内容中含有字符error,那么这个接口测试通过。  

2.png  

3设置、获取环境变量/全局变量的值  

pm.environment.set("variable_key","variable_value");//设置环境变量及变量值  

pm.environment.get("variable_key");//获取环境变量  

说明:使用这个断言的前提是postman中已经设置了环境变量,这里的variable_key为环境变量的名称,variable_key为变量值。全局变量与环境变量类似。  

使用示例如下图,意思是先设置环境变量eq,并取equipmentid的值,然后获取eq,如果eq=101,那么测试通过。  

3.png

4验证响应结果返回的时间  

pm.test("Responsetimeislessthan200ms",function(){  

pm.expect(pm.response.responseTime).to.be.below(200);  

});  

说明:用于判断这个接口响应的时长是否在指定的范围。  

如下图,实际响应时长为13ms,断言要求5ms,不在这个范围,因此报FAIL。  

4.png 

5对返回的结果做Json字段检查  

pm.test("Yourtestname",function(){  

varjsonData=pm.response.json();  

pm.expect(jsonData.value).to.eql(100);  

});  

说明:用于判断返回结果的Json中指定的字段值是否正确。  

如下图中,当返回的结果中equipmentid=101时,测试通过。  

5.png