postman(一)单个接口测试

一、测试内容

1、功能描述

APP的社区首页动态如果有关联商品则在图片上展示单品icon
社区首页动态内容添加一个字段:hasRelatedGoods

2、接口介绍

community.getDiscovery


image.png
3、返回结果
image.png

二、postman中配置请求内容

1、配置环境变量

目的:测试过程中有内测、外测、生产环境,设置环境变量只要切换就可以请求不同的url

设置环境变量.jpg
2、添加请求

环境变量直接用{{url}}+其他请求内容
image.png

右上角选择要应用的环境
image.png

ps:如果url的变量配置成功,鼠标移到变量位置,会出现配置的内容
image.png

三、postman中写Tests

1、写断言,就是要测试的内容

这里用到了三个
①、请求是否成功,状态码是否为200
②、返回的hasRelatedGoods和预期的是否一致
③、返回的动态个数是否为20

//返回的状态码判断
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
//获取数组的长度
pm.test("一页返回的article数是否为20",function () {
     var jsonData = pm.response.json();
     var articleCount = jsonData.data.list.length;
     console.log(articleCount);
     pm.expect(articleCount).to.eql(20);
    
});

//比对某个字段值和预期是否相等
pm.test("第1个动态的hasRelatedGoods是否为1", function () {
    var jsonData = pm.response.json();
    var hasRelated = jsonData.data.list[0].hasRelatedGoods;
    var articleId = jsonData.data.list[0];
    console.log(articleId);
    pm.expect(hasRelated).to.eql(1);
});

////比对某个字段值和预期是否相等
pm.test("第20个动态的hasRelatedGoods是否为0", function () {
    var jsonData = pm.response.json();
    var hasRelated = jsonData.data.list[19].hasRelatedGoods;
    var articleId = jsonData.data.list[19];
    console.log(articleId);
    pm.expect(hasRelated).to.eql(0);
});

2、执行

①返回的状态码为200,所以通过
②获取的长度为21个,预期结果20,所以未通过
③list中第1个article的hasRelatedGoods为1,和预期结果一致,通过
④list中第20个article的hasRelatedGoods为0,和预期结果一致,通过


image.png

S

四、日志分析

上面的Tests中有打印日志内容,,为了看获取的内容的详细信息点击左下角可以查看日志

 console.log(articleCount);
 console.log(articleId);
 console.log(articleId);
image.png

五、常用断言

待补充。。。

你可能感兴趣的:(postman(一)单个接口测试)