在开发不同阶段可能存在不同的环境,比如测试环境和生产环境。因为测试环境和生产环境的url肯定是不同的。在这种情况下,按照常规思路要么维护两套API环境,要么每次手动一个个去修改URL,不管选择哪种方式都是比较麻烦的,解决办法可以使用变量来灵活切换。
Postmman变量类型
postman提供了4种变量类型。
- 本地变量(Local Variable)
- 全局变量(Global Variable)
- 环境变量(Environment Variable)
- 数据变量(Data Variable)
环境变量
环境变量指在同一个变量值随着环境的不同而变化。比如测试环境和生产环境只是host不同,那就可以把host设置成一个变量,当切换成测试环境用的就是测试环境的host,切换到生产环境就是生产环境的host。
实例
设置环境变量1
设置环境变量2
引用变量
切换环境
本地变量
本地变量主要是针对单个url请求设置的变量,作用域只是局限在请求范围内。
实例
get请求设置本地变量
Post请求设置本地变量
Post请求引用本地变量
脚本获取变量的值
全局变量
全局变量实战在所有的环境里面,变量值都是一样的,全局变量的作用域是所有请求。
全局变量设置有两种方式
- 点击界面设置
- 在脚本里设置
界面设置
点击眼睛图标后,在Global选项菜单点击Edit菜单即可设置全局变量。全局变量的引用格式和环境变量一样。
注意:当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。
实例
设置全局变量1
设置全局变量1
脚本设置
pm.globals.set("variable_key", "variable_value");
实例
脚本设置全局变量
接口关联实际案例
在实际接口测试过程中,接口经常会有关联,比如需要取上一个接口的某个返回值,然后作为参数传递到下一个接口作为参数。
实例
返回值
如要取上一接口返回的token值做为下一个接口的参数。
首先在上个请求选择Tests编写脚本。
获取返回值token
pm.globals.set("变量", 值) 注意 值不要加引号
然后引用全局变量token
引用全局变量得到上个请求的token值
说明:
- Pre-request Script(预置脚本):可以让你在 Request 之前自定义请求数据。有点类似于unittest里面的setUp()方法
- Tests(测试脚本):当接收到响应之后,再执行测试脚本,可以在请求之后提取或者验证响应的数据。
数据变量
数据变量是通过导入外部数据文件(json文件或者CSV文件),来获取变量数据。