Jmeter设置全局变量,跨线程调用

在我们的测试过程中经常会遇到A接口返回值被B接口引用,如:A登录接口登录后获得的token值被B接口引用,且每次登录生成的token值不同

如何才能A接口中提取参数到B接口中?接下来我们就可以用正则表达式来解决这个问题。

将登陆后获取到的参数配置成全局变量

1,通过后置处理器提取参数

获取登录后返回的参数,如:获取登录后返回的userId

选中login右键添加后置处理器-正则表达式提取器/json提取器

说明:此处介绍下正则提取规则

(1)引用名称:下一个请求要引用的参数名称,如填写code,则可用${code}引用它。

(2)正则表达式:

    ():括起来的部分就是要提取的。

    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太贪婪,在找到第一个匹配项后停止。

(3)模板:$2引用起来,如果在正则表达式中有多个正则表达式,则可以是$2

3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

(5)缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的Error。

2,设置函数助手

3,添加Bean Shell取样器,将函数助手中生成的函数字符串拷贝至取样器中

4,跨线程调用全局变量,查看结果树查看是否获取到了上一接口的返回值

 

posted @ 2019-07-30 16:53  hpliud  阅读(552)  评论(0编辑  收藏  举报