变量:
1、局部变量 local variable
局部变量是在代码(Pre-request,Tests)中设置的。使用 JavaScript 的变量语法定义。
2、data文件中的变量 data variable
在 Collection (接口集)运行参数化的文件(CSV,JSON)中的值。
3、环境变量 environment variable
环境变量可以通过两种方式设置,一种是在环境设置中进行设置
另一种设置环境变量的方法是,在代码(Pre-request,Tests)中设置。
4、接口集变量collection variable
5、全局变量global variable
6、内置变量 dynamic variable
内置变量dynamic variables是Postman 用来生成一些随机值,方便测试过程中通过一些重复性校验。
在构造请求的时候,输入{,就会出现这些预设变量的待选项:
关联:
把脚本中某些固定的数据,转变来自服务器或者前端页面生成的、动态的、每次都不一样的数据。
将动态变化的值存获取并放在变量中(一般是环境变量或者全局变量),并在后面使用此变量的过程。
postman关联:
例:两个接口,第一个接口类型为get,第二个为post,第二个接口会用到第一个接口的相关值进行请求。
设置环境变量名:httpbin
设置url变量 :httpbin.org
1、关联response响应body中的某个值
例:第二个接口用第一个接口body返回的token字段作为请求参数
a、第一个接口把response返回body里面的token存为环境变量
b、在Tests里面定义变量获取token
//获取响应数据json对象 var josnData = pm.response.json(); //获取返回的token存为环境变量 pm.environment.set("newToken",josnData.args.token); |
c、第二个接口带上变量请求
2、关联response响应headers中的某个值
例:第二个接口用第一个接口返回headers的Content-Type字段作为请求参数
a、第一个接口把response返回headers返回的Content-Type字段作为环境变量保存
// 定义变量获取resposne headers 里面 Content-Type 值 var jsonData = postman.getResponseHeader("Content-Type"); //获取返回的值存为环境变量 postman.setEnvironmentVariable("newToken2",jsonData); |
b、第二个接口作为参数请求
3、关联request响应headers中的某个值
例:第二个接口用第一个接口请求headers里面Cookie字段作为请求headers参数
a、第一个接口把request请求headers里面Cookie字段作为环境变量保存
b、第二个接口 请求头里添加变量 并请求
设置全局变量:
//写法1 postman.setGlobalVariable("变量名",变量值) postman.setGlobalVariable("value","test"+(parseInt (Math.random()*100)));//*100是指只取0~99之间的随机值 //写法2 官方推荐 pm.globals.set("value", "test"+(parseInt (Math.random()*100))); |
//取响应body值: var jsonData = JSON.parse(responseBody); postman.setEnvironmentVariable("New_Token", jsonData.form.token); |
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理