1、判断接口请求返回的状态码是否为200,两种实现方法
(1)使用.test函数判断
脚本如下:
pm.test("状态码为200",function(){
pm.response.to.have.status(200);
});
运行结果如下:
(2)使用.expect
脚本如下:
pm.test("",function(){
var jsonData=pm.response.json();
pm.expect(jsonData.code).to.eql(200);
});
运行结果如下:
2、使用多个断言,如果任何包含的断言失败,则整个测试将失败。即每个语句验证之间是且的关系
脚本如下:
pm.test("张三信息查询无误",function(){
const jsonData=pm.response.json();
pm.expect(jsonData.type).to.eql('vip');
pm.expect(jsonData.name).to.include('张三');
pm.expect(jsonData.responseTime).to.be.below(200);
});
运行结果如下:
3、解析不同类型的响应主体数据
脚本如下:
const jsonData=pm.response.json;//解析json格式数据
const jsonData=xml12Json(pm.response.text());//解析xml格式数据
const parse=require('csv-parse/lib/syns');
const jsonData=parse(pm.response.text()); //解析CSV格式数据
const $=cheerio.load(pm.response.text());
console.log($.heml()); //解析HTML格式数据
4、处理为解析的响应
脚本如下:
pm.test("包含字符串去旅行吧",function(){
const jsonData=pm.response.json();
pm.expect(jsonData.text()).to.include("去旅行吧");
});//测试响应正文中是否包含字符串
5、对响应数据中的不同部分进行测试包含正文、状态码、标头、cookie,响应时间等
(1)检查正文中的特定值
pm.test("jane个人信息无误",function(){
const jsonData=pm.response.json();
pm.expect(jsonData.name).to.eql("Jane");
pm.expect(jsonData.age).to.eql("23");
});
(2)检查状态码
pm.test("状态码是200",function(){
const jsonData=pm.response.json();
jsonData.to.have.status(200);//检查状态码是否为200
pm.except(pm.response.code).to.be.oneOf([201,200]);//检查状态码为该数组中的任意一个
jsonData.to.have.status("created");//检查状态码文本
});
(3)检查是否存在响应头
pm.test("测试存在响应头",function(){
pm.response.to.have.header("Content-Type");
pm.expect(pm.response.headers.get('Content-Type')).to.eql('application/json');//检查响应头的值
});
运行结果如下:
(4)测试Cookie
pm.test("存在Cookies",function(){
const jsonData=pm.response.json();
pm.expect(pm.cookies.has('JSESSIONID')).to.be.true;
pm.expect(pm.cookies.get('isLoggedIn')).to.eql('1');//检查cookies的值
});
(8)测试响应时间是否在指定范围内
pm.test("响应时间少于200ms",function(){
const jsonData=pm.response.json();
pm.expect(jsonData.responseTime).to.be.below(200);
});
6、检查相应数据的数据类型
const jsonData=pm.response.json();
pm.test("当前字段数据类型正确",function(){
pm.expect(jsonData).to.be.an("object");//检查响应数据的格式是否为一个对象
pm.expect(jsonData.name).to.be.a("string");//检查是否为字符串类型
pm.expect(jsonData.age).to.be.a("number");//检查是否为数值类型
pm.expect(jsonData.hobbies).to.be.an("array");//检查是否为数组类型
pm.expect(jsonData.website).to.be.undefined;//检查是否未定义
pm.expect(jsonData.email).to.be.null;//检查值是否为null
});
运行结果如下: