Postman实战

API测试中的断言:

1、协议状态码

2、响应数据

3、业务状态码(这个程序员可以根据自己的想法来定义)

判断一个接口测试用例是否成功,或者说是通过,是根据断言的三个条件都成立的情况下得到的结果

Collections:集合,就是测试用例的套件,在这个容器里面,可以存放很多的测试用例。测试套件。

创建一个集合:

 

 

 

 给这个集合起个名字 回车即可

在Postman中调用变量的方式是:

{{变量名}}

动态参数不同的叫法:

动态参数、关联、上个接口的输出是下个接口的输入

动态参数在Postman的解决思路(登陆为例)

1、登陆成功后,在登陆接口的tests中定义一个变量在获取响应数据中的动态参数token

2、在下个接口(比如首页等等)中,调用定义的变量,调用的方式是{{变量名}}

3、那么这个过程中,需要把登陆接口和引用登陆接口的变量的接口都需要添加到Collection中,它的顺序是登陆接口在前

4、然后执行Collection,这样就能够实现动态参数的关联

登陆:http://101.43.158.84/#/login  为例

1、得到:Request URL   并查看下  Content-Type  和请求方法  然后payload 复制下数据

 

 

 复制到

 复制这个数据到

 在这里Headers自动就会多出数据和我们看到一样的数据格式

 然后在以下页面写断言:

整体的代码如下

// 定义一个变量来存放响应数据
var jsonData=JSON.parse(responseBody)
// 查看获取到的响应数据--这个是个调试的过程
// console.log("查看获取到的响应数据:\n",jsonData)
// 验证协议状态码
// pm.test("Status code is 200", function () {
//     pm.response.to.have.status(200);
// });
// 验证字段
tests["验证username字段"]=jsonData.user.username=="无涯"

tests["验证uid字段"]=jsonData.user.uid=="adGw32EcTpNmbYrN2mXCkA"

tests["验证telephone字段"]=jsonData.user.telephone=="13484545195"

tests["验证is_active字段"]=jsonData.user.is_active==true

// 需求:我想要输出token   这个是动态参数 每次都不一样
/*
1、定义一个变量来获取token
2、输出这个变量
*/
// 定义一个变量getToken,获取jsonData中的token
pm.environment.set("getToken", jsonData.token);
// 得到getToken
// pm.environment.get("getToken");
// 输出得到的getToken
// console.log(pm.environment.get("getToken"))
tests["验证token字段"]=jsonData.token==pm.environment.get("getToken")
 
显示的测试结果如下:

  首页:

先复制:

 到Postman  再复制这个到Headers  后面的token由于是个变量 所以不能加上 要交动态的{{变量名}}如图,jwt后面有个空格

 测试断言代码如下:

var jsonData=JSON.parse(responseBody)

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

tests["验证api测试用例个数"]=jsonData.count.api==0

这里要注意2点:

验证状态码可以从右侧的获取如图:--可以直接点击右侧

 然后保存:

 如下图运行:

 

测试结果如下:

 

 添加产品:

这个和以上的步骤一样:

测试断言代码如下:

var jsonData=JSON.parse(responseBody)
pm.test("Status code is 201", function () {
    pm.response.to.have.status(201);
});
pm.environment.set("productID", jsonData.id);
tests["验证产品id"]=jsonData.id==pm.environment.get("productID")

删除产品:

这里注意删除产品id是动态的是变化的所以:这里的id是一个集合里面定义的--本文是在添加产品中定义的

 

 修改产品:

这里有2点需要注意

1:由于ID是动态的  所以 复制到body的数据中的id也是要动态的如图

 

 2:修改产品实验是产品增加和删除之间 这个要注意顺序 

 

Postman里面的一些应用:

 

 

 

 

posted @   净植  阅读(150)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示