Postman的Tests本质上是JavaScript代码,经过咱们编写测试代码,每个Tests返回True,或是False,以判断接口返回的正确性。json
其实,每个Tests实际上就是一个检查点。服务器
若是你在作接口测试时出现以上任一场景,势必会耗费不少重复且无脑的人力成本。这个时候,咱们就须要一些自动化校验来代替咱们无效的人力成本,从而大大提升测试效率及准确率。less
【点击】列表中你想要添加的检查点,好比其中一个【Status code:Code is 200】异步
会自动在【Tests】编辑框内添加【Status Code is 200】的检查点。async
其余示例检查点的设置同上。测试
但,示例毕竟是是示例,只是列举了一些比较经常使用的检查点,但咱们实际的检查点会很复杂,好比检查response中的某个字段的值,在好比统计某个列表中的内容长度。编码
这个时候,咱们就须要本身去编写js脚原本实现检查点。spa
检查response中某个字段的值:code
var jsonData = pm.response.json(); //校验服务器返回的response中的code字段等于0
pm.test("code = 0", function () { pm.expect(jsonData.code).to.eql(0); });
统计某个列表中的内容长度:对象
//获取结果response中的【data】字段下的【list】列表的长度
var length = jsonData.data.list.length //判断长度是否等于8
pm.test("list.length=8",function(){ pm.expect(length).to.eql(8); }); //判断长度是否大于0
if(length>0){ //if中判断为真,则断定输入banners.length大于0
var a = 1; pm.test("list.length大于0",function(){ if(a==1); }); }else{ //if中判断为假,则断定输入banners.length不大于0
pm.test("list.length不大于0",function(){ pm.expect(length).to.eql(1); }); }
在这里只举了3个例子,你们可根据本身的测试需求编写js脚本添加响应的检查点接便可。
如图所示,4个检查点均PASS经过
1)Setting an environment variable (设置一个环境变量)
2)Setting a nested object as an environment variable (将嵌套对象设置为环境变量)
3)Getting an environment variable (获取环境变量)
4)Getting an environment variable (whose value is a stringified object) 获取一个环境变量(其值是一个字符串化的对象)
5)Clear an environment variable (清除一个环境变量)
6)Set a global variable (设置一个全局变量)
7)Get a global variable (获取一个全局变量)
8)Clear a global variable (清除全局变量)
9)Get a variable (获取一个变量)
10)Check if response body contains a string (检查响应主体是否包含字符串)
11)Check if response body is equal to a string (检查响应主体是否等于一个字符串)
12)Check for a JSON value (检查JSON值)
13)Content-Type is present (内容类型存在)
14)Response time is less than 200ms (响应时间小于200ms)
15)Status code is 200 (状态码是200)
16)Code name contains a string (代码名称包含一个字符串)
17)Successful POST request status code (成功的POST请求状态码)
18)Use TinyValidator for JSON data (对于JSON数据使用TinyValidator)
19)Decode base64 encoded data (解码base64编码的数据)
20)Send an asynchronous request (发送异步请求)
21)Convert XML body to a JSON object (将XML正文转换为JSON对象)
初入职场热爱分享的打工人一枚,请你们多多指教~~