我在拾取正则表达式设置的变量时遇到问题 Beanshell中的提取器。
我不确定我在下面使用过:
long var1 = Integer.parseInt(vars.get("Number_i"));
print("Value of var1: " +var1);
实际上我想这样做:
for (i=0; i<50; i++) {
if (var1==1) {
do this
}
}
我不擅长Jmeter,所以请耐心等待。
答案 0 :(得分:3)
鉴于您使用正则表达式提取器提取变量,并且您具有&gt; 1匹配已经有多个变量,您可以使用Debug Sampler和View Results Tree监听器组合检查它们
所以你可以在JMeter中访问变量,如:
${number_1}
${number_2}
并在Beanshell测试元素中使用vars
简写代表JMeterVariables类实例,如:
vars.get("number_1");
vars.get("number_2");
示例代码将迭代所有匹配并且&#34;执行某些操作&#34;当前变量值为&#34; 1&#34;
int matches = Integer.parseInt(vars.get("number_matchNr"));
for (int i=1; i<=matches; i++) {
if (vars.get("number_" + i).equals("1")) {
log.info("Variable: number_" + i + " is 1");
// do something
}
}
有关如何在JMeter中开始使用Beanshell的更多信息,请参阅JMeter API - 所有JMeter类上的JavaDoc和How to Use BeanShell: JMeter's Favorite Built-in Component