jmeter 跨线程传参获取不到值

Posted duxuebing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 跨线程传参获取不到值的主要内容,如果未能解决你的问题,请参考以下文章

JMeter:全局变量___setProperty跨线程传参

jmeter测试之跨线程传参

在Jmeter中设置全局变量,实现跨线程组传参

JMeter跨线程传参总结

JMeter跨线程传参总结

史上最简单的 Jmeter 跨线程组取参数值的两种办法 (不写代码)