系列文章目录
Postman之变量操作
- 1.pm.globals全局变量
- 2.pm.environment环境变量
- 3.pm.collectionVariables集合变量
- 4.pm.variables
- 5.提取数据-设置变量-进行参数化串联使用
postman中分为全局变量、环境变量、集合变量、和普通变量
分别使用pm.globals
、pm.environment
、pm.collectionVariables
、pm.variables
来进行操作
1.pm.globals全局变量
功能:pm.globals
:返回一个对象,可以用来操作、设置全局变量
语法格式:
//设置全局变量
pm.globals.set("全局变量名","全局变量值")
//获取全局变量
pm.globals.get("全局变量名")
// 检查全局变量是否存在
pm.globals.has("全局变量名"")//清除指定全局变量
pm.globals.unset("全局变量名")
// 清除所有全局变量
pm.globals.clear()
// 将全局变量转换成一个对象
pm.globals.toObject()
如图演示:
// 设置全局变量
pm.globals.set("name","王哈哈")
pm.globals.set("age","22")
// 获取全局变量
value0 = pm.globals.get("name")
// 清除全局变量
pm.globals.unset("name")
// 检查全局变量是否存在
value1 = pm.globals.has("name")
// 清除所有全局变量
// pm.globals.clear()
value2 = pm.globals.has("age")
console.log(value0,value1,value2)
2.pm.environment环境变量
功能:pm.environment
:返回一个对象,可以用来操作、设置全局变量
用法同全局变量类似,只是使用的对象不一样
语法格式:
//设置全局变量
pm.environment.set("环境变量名","环境变量值")
//获取全局变量
pm.environment.get("环境变量名")
// 检查全局变量是否存在
pm.environment.has("环境变量名"")//清除指定全局变量
pm.environment.unset("环境变量名")
// 清除所有全局变量
pm.environment.clear()
// 将全局变量转换成一个对象
pm.environment.toObject()
如图:
3.pm.collectionVariables集合变量
功能:pm.collectionVariables
:返回一个对象,可以用来操作、设置全局变量
用法同全局变量类似,只是使用的对象不一样
语法格式:
//设置全局变量
pm.collectionVariables.set("集合变量名","集合变量值")
//获取全局变量
pm.collectionVariables.get("集合变量名")
// 检查全局变量是否存在
pm.collectionVariables.has("集合变量名"")//清除指定全局变量
pm.collectionVariables.unset("集合变量名")
// 清除所有全局变量
pm.collectionVariables.clear()
// 将全局变量转换成一个对象
pm.collectionVariables.toObject()
如图:
4.pm.variables
功能:pm.variables
:返回一个对象,可以用来操作、设置全局变量
用法同全局变量类似,只是使用的对象不一样
语法格式:
//设置全局变量
pm.variables.set("集合变量名","集合变量值")
//获取全局变量
pm.variables.get("集合变量名")
// 检查全局变量是否存在
pm.variables.has("集合变量名"")//清除指定全局变量
pm.variables.unset("集合变量名")
// 清除所有全局变量
pm.variables.clear()
// 将全局变量转换成一个对象
pm.variables.toObject()
5.提取数据-设置变量-进行参数化串联使用
{{变量名}}
的格式,就可以需要使用、引用设置的变量
示例:在mock1请求中,提取了响应消息中的trade_no的值,并设置为为变量,在mock2中通过{{变量名}}
;即{{trade_no}}
引用变量,作为请求内容,发出请求
响应消息:
{"code": "40004","msg": "Business Failed","sub_code": "ACQ.TRADE_HAS_SUCCESS","sub_msg": "交易成功","trade_no": "2013112011001004330000121536","out_trade_no": "6823789339978248","md5": "5133bba0536afd5648c07d9cb4359c25"
}
提取数据,并设置变量:
//提取响应消息中的trade_no值
value0 = pm.response.json()['trade_no']
// 将提取出来的值设为集合变量
pm.globals.set("trade_no",value0)
console.log(value0)