jmeter 跨线程传参获取不到值

问题:跨线程传递参数,在本线程提取到了值,但跨线程后一直提取不到。
解决:在Test Plan 页面勾选“独立运行每个线程组(例如在一个组运行结束后启动下一个)”

背景:我创建了2个线程组,在a线程组里面提取值传到b线程组使用,使用正则表达式提取的参数在本线程能使用,但是传到另一个线程组一直获取不到值。

我的步骤是:

1. 使用正则表达式提取器,提取参数,在当前线程组查看提取的参数是否正确,是否能使用。

2.创建Beanshell 后置处理程序(下面这段是参考https://www.jianshu.com/p/f67e27af6cb6的)

String project_id=bsh.args[0]; //获取Bean Shell PostProcessor接收到的参数的第一个值
print(project_id);
${__setProperty(request_project_id,${project_id},)}; //调用函数__setProperty,把Bean Shell PostProcessor中的project_id的值赋值给request_project_id,并设置request_project_id为jmeter内置属性

3.在另一个线程组里调用 "room_id":"${__P(request_room_id,)}"

以上的步骤检查了都没问题,但是参数就是传递不过去。

后来我尝试在a线程组里面,将参数修改成aaa,然后去b线程看是否返回,发现传递成功了。那就是说参数是传递过去了,那会是什么问题呢?

此时群里面有人回答我的问题,让我尝试在 TestPlan 里面勾选:独立运行每个线程组(例如在一个组运行结束后启动下一个)

解决!!!

jmeter 跨线程传参获取不到值

相关推荐