变量提取和引用主要是为了解决接口之间的参数依赖问题

使用场景:接口A的参数中需要使用接口B返回的某个数据,那么就要在请求B接口之后,提取数据保存,给请求A接口时使用。

1、变量提取

在用例集或用例数据中,通过extract字段指定要提取的变量。

语法

"extract": {
   "变量名": ("变量保存的级别", "提取方式", "提取表达式"),
}

变量保存的级别

  • EVN: 全局变量,settings文件中的EVN

  • env : 为局部变量(只对当前用例集有效):用例集的env字段

提取方式

  • re: 正则表达式提取

  • jsonpath: 通过jsonpath提取

案例

"extract": {
    # 通过jsonpath提取
   "token": ("env", "jsonpath", "$..token"),
    # 通过正则表达式提取
   'member_id': ("env", "re", r'"id":(.+?),')
}

2、变量引用

  • 变量引用表达式${{变量名}}

    在用例数据中引用变量,需要安装MuskTest中定义的变量引用语法${{name}}

  • 引用优先级

    优先引用该用例的局部变量(用例的env中的变量),如果局部变量不存在,则会引用全局变量(setting.pyENV中保存的变量)。