jmeter 跨线程传参获取不到值
2021-01-04 18:29
标签:成功 ref ash 跨线程 height stp 步骤 独立 bash 问题:跨线程传递参数,在本线程提取到了值,但跨线程后一直提取不到。 背景:我创建了2个线程组,在a线程组里面提取值传到b线程组使用,使用正则表达式提取的参数在本线程能使用,但是传到另一个线程组一直获取不到值。 我的步骤是: 1. 使用正则表达式提取器,提取参数,在当前线程组查看提取的参数是否正确,是否能使用。 2.创建Beanshell 后置处理程序(下面这段是参考https://www.jianshu.com/p/f67e27af6cb6的) 3.在另一个线程组里调用 "room_id":"${__P(request_room_id,)}" 以上的步骤检查了都没问题,但是参数就是传递不过去。 后来我尝试在a线程组里面,将参数修改成aaa,然后去b线程看是否返回,发现传递成功了。那就是说参数是传递过去了,那会是什么问题呢? 此时群里面有人回答我的问题,让我尝试在 TestPlan 里面勾选:独立运行每个线程组(例如在一个组运行结束后启动下一个) 解决!!! jmeter 跨线程传参获取不到值 标签:成功 ref ash 跨线程 height stp 步骤 独立 bash 原文地址:https://www.cnblogs.com/duxuebing/p/12983932.html
解决:在Test Plan 页面勾选“独立运行每个线程组(例如在一个组运行结束后启动下一个)”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内置属性