问答 jmeter 里如何跨线程传递多次不同的数据

MBF · 2018年07月26日 · 最后由 果冻 回复于 2018年09月06日 · 2572 次阅读

基本思路是把需要传递的参数设置成全局参数,
但是有这么一种场景,前一组线程产生 10 组不一样的数据传递给下一个线程组,后一组线程组只能拿到前一组最后一个也就是第十组的数据。
如何设置才能是使跨线程传递的参数一一对应呢

共收到 9 条回复 时间 点赞

可以在你的参数名中加入线程号 ${__threadNum}拼接一下,这样调用的时候就是按线程号对应的了

MBF #9 · 2018年07月26日 Author
lixin 回复

请问如何拼接呢

设置参数时可以用props.put("thread_${__threadNum}","${__threadNum}");
然后调用时用${__P(thread_${__threadNum})}

MBF #7 · 2018年07月26日 Author
lixin 回复

试了一下可以 😀 那还有新的问题产生了 这个拼接后的参数传递后 还得自己分割一下才能用嘛

10楼 已删除
MBF 回复

我用的不是线程 数 ,如果有一个线程多次循环就会取到重复的 ,我用的是全局计数器 ${setProperty(CardNo${counter(FALSE,)},${V(CardNo_${counter(true,)})},)};
vars.put("CardNos","${
P(CardNo_${_counter(FALSE,)},)}");

保存在 csv 文件中呢

MBF 回复

不太明白你的意思,为什么还要分割?

lixin 回复

应该是一个线程如果有 10 个值每次变量名是一样的其他线程每次取的也是一样的,所以需要分割

线程组是并行执行的,怎么可能并行时跨线程传递。。。不像同一个线程组里面的 sample 可以顺序来

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册