比如登录后返回token,业务打印上传的操作需要用到token
线程组中添加登录请求,并执行
1、添加登录并执行,查看结果
2、结果树中下拉选择正则表达式,将token参数和值复制粘贴到下方,将token值改为(.*?),点击Test,若返回的token值与上方一致,正则表达式正确。
添加正则表达式提取器
1、登录接口-添加-后置处理器-正则表达式提取器
2、正则表达式提取器设置
(1)变量名可以随意定义;
(2)正则表达式,可以填写多个;
(3)$1$
表示取第一个正则,$2$
表示取第二个正则;
(4)匹配数字,表示匹配到的第一个值(因为可能匹配多个);
(5)默认值,没有匹配到使用默认值
3、验证正则表达式是否匹配成功
(1)线程组-添加-取样器-调式取样器
(2)再次运行,查看调试取样器结果是否正确
可以看出,结果一致,代表表达式提取没有问题。
打印上传接口使用正则表达式的变量
打印接口的请求头中,引用上面定义的变量名,引用方法:${变量名}
执行后成功
JSON表达式提取器
上面讲的是正则表达式提取,还可以用JSON表达式提取
JSON Path语法:只适用于json数据
(1) $代表根目录
(2).代表子节点
$.code$.data.token
(3) 取数组值通过[下标],下标从0开始
$.data.records[0].title
1、json表达式测试
结果树下拉选择JSON Path Tester,输入$.data.token,点击Test,结果与上面token一致则JSON表达式无误。
2、HTTP请求下添加JSON提取器
http请求-添加-后置处理器-JSON提取器
3、JSON提取器设置
上传打印接口使用JSON表达式变量
打印接口的请求头中,引用上面定义的变量名,引用方法:${变量名}
执行后成功
提取器可以是多个
(1)比如打印上传接口需要用到token和userId,那么就需要在登录接口下面添加两个提取器,一个提取token,一个提取userId。
(2)${变量名}除了能用在参数中,还能拼接在URL后面