变量介绍
API 管理支持不同接口、接口用例的请求参数、脚本等引用同一个变量,更改一次变量值就能改变所有引用了该变量的相关值,使用变量提升接口管理的工作效率。
变量类型
临时变量
临时变量是指仅在单个 API 调用、接口用例运行或测试任务执行期间有效的变量。常见的临时变量为执行过程中通过脚本声明和赋值的变量,例如前后置脚本中使用临时变量示例如下所示:
pm.variables.set("variable_key", "variable_value");
// 获取临时变量
var variable_key = pm.variables.get("variable_key");
// 取消临时变量
pm.variables.unset("variable_key");
任务变量
任务变量是指执行单次测试任务时指定的变量。
环境变量
环境变量是指变量值会跟随环境切换而改变的变量,同一个变量可以在不同的环境设置不同的值。环境变量在「资源管理」->「环境管理」页面管理。
全局变量
全局变量不受当前环境的影响,在同一个项目下该变量都会生效。全局变量在「资源管理」->「全局变量」页面管理。
测试数据集变量
在场景用例或测试任务运行时,遍历运行指定的测试数据集里所有的数据,并且会将数据集里的数据赋值给对应的变量。
变量优先级
当不同类型变量的变量名相同时,系统会根据优先级决定使用哪个类型的变量。变量优先级由高到低按照临时变量 > 任务变量 > 测试数据集变量 > 环境变量 > 全局变量依次排列。
变量嵌套定义
除临时脚本外,其他类型的变量在定义时支持使用其他同类型变量来赋值,称之为嵌套定义。API 管理支持用户递归嵌套变量(A 变量引用 B,B 变量引用 C),用户需尽量规避循环嵌套(A 变量引用 B,B 变量引用 A)的场景。如出现循环嵌套场景,变量将保留原始的定义结构不做赋值替换。
变量嵌套方便用户在当前视图下即可准确推导变量预估值,而非在执行时动态的被其他某个类型变量赋值。例如:
a: "1"
b: "{{a}}"
d: "{{c}}"
env:
a: "2"
c: "3"
output:
a: "2" # 被更高优先级的变量定义覆盖
b: "1" # 被 global 同级变量赋值
c: "3"
d: "{{c}}" # global 同级没有 c 变量,因此保留原始定义,不会被 env 下的 c 变量赋值
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。