postman接口自动化-Tests:code、time等常用的断言

问题:测试的本质就是判断对错,要么在接口自动化中如何判断一个请求是否通过?

解决:postman的Tests板块中引入断言

Tests编辑内是用JS执行环境的,需要懂一些些JS语言逻辑(我只会一丢丢丢java基础,全靠查资料跟着写的。如果没有编程基础,或者像我一样只能看懂简单代码的,建议不要企图一次性全部掌握。根据实际具体项目需要,只看要用的比较好。)

核心语法:tests[“判断条件的说明文字,会打印出来”]= 运算表达式

tests是特定写法,断言显示的内容就是[]内的string字符串,中英文都可以,根据自己需要来写。
运算表达式结果为 True的话,则断言结果为 Pass(绿色);
运算表达式结果为 False的话,则断言结果为 Fail(红色);

举几个常用的:

//检查返回状态code是否为200   responseCode.code就是获取响应的状态码
tests[请求响应码是否等于200] = responseCode.code===200;
//检查返回时间是否小于200毫秒
tests[请求时间是否小于200毫秒] = responseTime<200;
//将返回的body信息转换成josn  JSON.parse是将json字符串转换成JSON对象
var data = JSON.parse(responseBody)
//检查返回的body里面的isSuccess的值是否为true
tests[请求处理是否成功] =data.isSuccess === true;
//检查返回的响应头里面是否包含Content-Type
tests[响应头是否包含Content-Type] = postman.getResponseHeader(Content-Type);
//tests[Content-Type is presnt(出现)] = responseHeaders.hasOwnProperty(Content-Type);
//检查返回body里面是否包含某个字符串
tests[返回信息里是否包含'城乡居民'] = responseBody.has(城乡居民);
//tests[返回信息里是否包含头部‘headers’(true/flase):+responseBody.has(headers)] =responseBody.has(headers);
//tests[返回信息里是否包含‘flag’(true/flase):+responseBody.has(flag)] =responseBody.has(flag);
//postman内置schema脚本,主要用于验证字段类型
var schema = {
 items: {
 type: boolean
 }
};
var data1 = [true, false];  //布尔型
var data2 = [true, 123];    //不是布尔型
tests[Valid Data1] = tv4.validate(data1, schema);   //pass
tests[Valid Data2] = tv4.validate(data2, schema);   //fall

响应数据
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值