当我们测试接口的时候,有些请求参数是需要从上个接口返回获取的数据,这样的话我们就需要用到关联了。今天我们使用的关联是正则表达式提取和json提取器。
一.使用正则表达式提取器的使用方法:
例如我想测试第3个接口:邀请;
-
它的请求参数中userId需要从登录接口返回取得,teamId需要从创建亲友圈接口返回取得,那么就需要在登录的取样器下面添加正则表达式提取器,提取“userId”,如图:
在创建亲友圈的取样器下面添加正则表达式提取器,提取“teamId”,如图:
提取说明:
正则表达式提取的相关设置
-
引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:userId,后面的引用方式是${userId},teamId,后面的引用方式是${teamId}
-
正则表达式:提取内容的正则表达式
-
【( ) 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来】
-
【. 点号表示匹配任何字符串】
-
【+ 一次或多次】
-
【? 在找到第一个匹配项后停止】
-
模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给useIid。例如:$1$表示匹配到的第一个值
-
匹配数字:0代表随机取值,-1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,还可以通过${userId_1}的方式来取第1个匹配的内容,${userId_2}来取第2个匹配的内容。
-
缺省值:正则匹配失败时,取的值
-
二. 使用json提取器实现接口关联
使用场合:接口关联,当前一个接口返回的数据类型为json格式的数据,需要从返回的json数据中提取数据。
可以将返回的值复制到 www.bejson.com-->json菜单-->json视图-->json数据中,然后点击试图查看,如下图:
json提取器的使用步骤
1.在需要获得数据的请求“1.获取access_token” 上右击添加一个后置处理器-->JSON提取器
Name of created varialies:即下一个请求要引用的参数名称,如填写access_token,则可用${ access_token}引用它。
JSON Path expressions:填写jsonpath,格式:$. 节点名称 根节点用 “.” 表示
Match Numbers:0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。
Default Values:找不到时默认值,一般设置为NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
2.替换变量为${ 变量名}
3.使用 调试取样器 检查是否提取到了
四、扩展:返回复杂json数据的提取
如图:{"tag":{"id":193,"name":"newdream20200324"}}
JSON提取器配置如下: $.tag.name