51Testing软件测试论坛

标题: Jmeter在BeanShell 取样器中变量嵌套使用的问题 [打印本页]

作者: 测试积点老人    时间: 2021-6-15 13:28
标题: Jmeter在BeanShell 取样器中变量嵌套使用的问题
  1. int count = ${productId_matchNr};
  2. //通过JSon提取器提取到信息
  3. //productId_matchNr=2 (这里拿2个来举例,实际情况会有很多个)
  4. //productId_1=152201
  5. //productId_2=152208

  6. String str = "";

  7. for(int i=1;i<count+1;i++){
  8. String tmp = i+"";

  9. vars.put("num",tmp);

  10. str = str + "${__V(productId_${num})}";

  11. }

  12. System.out.println(str);

  13. //str我希望的结果:152201152208
  14. //str程序实际结果:productId_${num}productId_${num}
复制代码
//str为什么不是152201152208;如果要得到这个结果,需要怎么做?

作者: 1005731757@qq.c    时间: 2021-6-15 18:23
这是一个很有意思的问题,原因是Jmeter中通过vars.put()方法设置的变量不能在当前beanshell中直接使用${变量名}进行调用
这里可以使用更改for循环中语句达到目标效果
for(int i=1;i<count+1;i++){
str += vars.get("productId_" + i);
}
作者: qqq911    时间: 2021-6-16 11:15
需要循环方式来获取
作者: bellas    时间: 2021-6-16 11:24
来学习
作者: 郭小贱    时间: 2021-6-16 12:24
Beanshell,是个好东西。
作者: jingzizx    时间: 2021-6-16 13:16
试试
作者: litingting0214    时间: 2021-6-16 14:12
没有做转换




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2