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 跨线程传参获取不到值的主要内容,如果未能解决你的问题,请参考以下文章