精通使用postman接口测试工具(二)

本文介绍了在Postman中处理接口关联的方法,包括使用JSON提取器、正则表达式提取器和Cookie提取器来传递参数。此外,还讲解了Postman的动态参数,如内置和自定义参数的使用,以及断言的重要性,特别是状态码、响应体和响应时间的断言。最后,提到了环境变量在不同环境配置中的应用。
摘要由CSDN通过智能技术生成
一、接口关联
面试题:
1.接口关联如何处理
2.接口测试当中多个接口串联如何处理
3.上一个接口的返回值如何作为下一个接口的入参
三种方式:
1.JSON提取器
(1)在第一个接口中提取token
    //打印响应数据到控制台
console.log(responseBody)
//通过JSON提取器提取鉴权码token(把返回值转化成json格式的字典)
var jnData = JSON.parse(responseBody)
//提取token值
console.log(jnData.access_token)
//把鉴权码设置成全局变量
pm.globals.set("access_token",jnData.access_token);
(2)在第二个接口中使用{{}} 方式取值
{{access_token}}
2.正则表达式提取器
(1)在第一个接口中提取token
//正则表达式提取器
//match 匹配
var jnData = responseBody.match(new RegExp('"access_token":"(.+?)",'))
console.log(jnData[1])
//把鉴权码设置成全局变量
pm.globals.set("access_token",jnData[1]);
(2)在第二个接口中使用{{}} 方式取值
{{access_token}}
3.Cookie提取器
Cookie是浏览器和服务器之间交互的一种数据,这种数据格式是键值对,原理是:当浏览器第一次去访问服务器的时候,那么服务器会生成cookie并且发送给浏览器,然后,浏览器在第2-N次向服务器发送请求的时候都会自动的带cookie的信息。
//Cookie提取器
var csrf_token = postman.getResponseCookie("csrf_token")
console.log(csrf_token.value)
pm.globals.set("csrf_token", csrf_token.value); //设置成全局变量
二、Postman动态参数
1.内置动态参数
{{$timestamp}}     获得时间戳
{{$randInt}}    获得0-1000的随机数(有局限)
{{$guid}}    获得guid的随机字符串(很长)
2.自定义的动态参数
在请求之前的Pre-request Script中设置自定义动态参数
//自定义动态参数
//获取当前的时间赋值给times
var times = Date.now()
pm.globals.set("times",times);
特别注意:当使用自定义动态参数时,在断言时不能使用 {{times}}这种方式
例如://业务断言(精确断言业务)
pm.test("断言返回的数据中包含安迎美子{{times}}", function () {
pm.expect(pm.response.text()).to.include("安迎美子"+pm.globals.get("times"));
});
很多场景会用到自定义参数
1)使用到自定义函数场景:接口加密,接口签名,等待三秒才可以请求的接口等等 
三、断言
断言:判断预期结果和实际结果是否一致
断言最核心的业务功能
获取环境变量
Get an environment variable 获得环境变量
Get a global variable 获得全局变量
Get a variable 获得一个变量
Get a collection variable 获得集合变量
设置环境变量
Set an environment variable 设置一个环境变量
Set a global variable 设置一个全局变量
Set a collection variable 设置一个集合变量
断言
Status code:Code is 200 断言返回的状态码是200 必写
Response body:Contains string 断言返回的结果中包含有一个字符串
Response body:JSON value check 断言返回的结果中对json数据做检查
Response body:is equal to a string 断言返回的结果等于一个字符串(一般用于接口返回数据很少的情况下)
Response headers:Content-Type header check断言响应头中包含有Content-type(用的少)
Response time is less 200ms 断言响应时间少于200ms(断言接口的请求时间)
全局断言
在项目当中可以设置全局断言,用于对所有的接口实现状态断言
//状态断言-设置到全局断言里面
pm.test("断言状态码为200", function () {
pm.response.to.have.status(200);
});
四、环境变量的配置
开发环境
测试环境
预发布环境
生产环境
总结:环境变量也是全局变量,只是作用不一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值