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)