postman测试接口设置变量
背景:为什么要设置变量?------------->将多个接口关联起来,形成联系
场景举例:
注册需要手机号,登录也需要该手机号,就可以将这两个接口关联起来
1.变量设置的方式:
♥设置环境变量
♥设置全局
♥Tests设置变量
2.设置全局变量----Global
global全局变量,在整个postman中都可以用。-----包括集合,单接口
上节课里面,集合里面也可以设置集合的变量,在全局变量的取名上一定不要跟集合里面的变量名重复,否则会优先调用全局变量。
下面来设置全局变量
(1).点击右上角的【设置】按钮,
进入下面的界面:
添加全局变量,点击[save],
添加好的全局变量,就可以在整个postman中使用(集合、单接口都可以使用)
添加的全局变量可以在postman界面右上方的小眼睛图标里查看、编辑,如下
下面开始在接口中调用全局变量,以name1这个全局变量为例,如下:
3.设置环境变量
同样是点击postman右上角的【设置】按钮,进入环境设置界面,注意,环境变量的添加,是点击【add】按钮
进入环境变量添加界面,设置环境名、环境变量及值,点击add:
同样的方法,再添加一个环境变量:生产环境的变量
环境变量设置好之后,可以在postman右上角的【选择环境】中选择对应的环境
如果选择了测试环境,那么接口调用变量的时候,只能调用测试环境里面设置的变量,不能调用别的环境的变量(全局变量的可以继续调用)
举例:选择测试环境,调用生产环境里面的变量,会报错:
4.Tests设置变量----断言
通过test,先把接口的返回结果设置成环境变量,然后后续接口就可以通过环境变量的值进行关联。
简单来说:
(1).发送注册接口的请求,得到响应体中有token值,在test中将token值取出来,
(2).在登录接口的请求头中,设置变量,调用token,进行关联,此时在环境变量中会设置好token的值。登录成功
如何在tests中获取token
#使用var关键字,定义一个变量data,用来接收接口的所以返回信息(用户名,密码,token值.....) var data = pm.response.json(); #从响应信息中提出token var tokendata = data.token; #设置token pm.environment.set("token",tokendata)