jmeter跨线程组调用参数

需求:登陆后创建用户

1、登陆接口作为预置线程组

2、通过正则表达式获取参数值

3、通过BeanShell断言 使得参数可以跨线程组调用

 

步骤

1、创建一个登陆的预置线程组。该线程组下只有一个登陆请求,查看登陆请求的结果,如下:

 

 要获取sesskey的值,是在响应数据的body里面,创建一个登陆请求的后置处理器正则表达式

还要获取一个登陆后的MoodleSession值

 

 

 

为了实现跨线程组调用,需要在登陆请求接口后加一个beanshell断言,如下:

 

 

${__setProperty(MoodleSession,${MoodleSession})};
${__setProperty(sesskey,${sesskey})}

 在BeanShell后置处理器中使用__setProperty()函数把MoodleSession设置为全局变量,取名为MoodleSession,后面其它线程组使用的时候MoodleSession这个名字。

${__setProperty(A,${B})};简而言之,A是后面其他人要用的时候的名字,B是正则表达式中引用名称

2、其它线程组中的请求要用该参数时,使用${__P()}函数来使用A的全局变量

 

 

3、在其它请求中就能用到登陆请求返回值

 

 4、在该测试计划中,要勾选独立运行每个线程组

 

 

 

 若要看正则表达式的执行结果,可以增加一个调试取样器

 

posted @ 2021-08-20 10:44  噜啦啦zyq  阅读(355)  评论(0编辑  收藏  举报