Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/intellij-idea/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
控制器工作时如何使jmeter工作_Jmeter - Fatal编程技术网

控制器工作时如何使jmeter工作

控制器工作时如何使jmeter工作,jmeter,Jmeter,我无法让while控制器在jmeter中工作 我有一种感觉,我读到它不会重新计算用户定义的变量,所以我尝试使用属性 我首先使用BSF断言设置一个名为keeploping的属性 ${__setProperty(keepLooping, true)}; 这似乎在它进入While控制器时起作用,条件为 ${__property(keepLooping)} 但我一辈子都不能让它把这个财产换成别的东西。我希望它根据http请求的结果文本更改属性 所以我使用正则表达式提取器来设置一个变量,我可以看到它正

我无法让while控制器在jmeter中工作


我有一种感觉,我读到它不会重新计算用户定义的变量,所以我尝试使用属性

我首先使用BSF断言设置一个名为keeploping的属性

${__setProperty(keepLooping, true)};
这似乎在它进入While控制器时起作用,条件为

${__property(keepLooping)}
但我一辈子都不能让它把这个财产换成别的东西。我希望它根据http请求的结果文本更改属性

所以我使用正则表达式提取器来设置一个变量,我可以看到它正在被设置。然后,我尝试使用BSF断言根据我设置的变量设置Keeploping属性。我使用的javascript如下所示:

log.info("IM IN HERE");
log.info("props is "+props);
//log.info("props keep looping is  "+props["keepLooping"]);
if (${surveyRequired} == false){
    log.info("IM IN HERE 1A and props is "+props);
    ${__setProperty(keepLooping, true)};
    log.info("IM IN HERE 1B");
}
else {
    log.info("IM IN HERE 2A");  
    ${__setProperty(keepLooping, false)};
    log.info("IM IN HERE 2B");
}
我不知道如何使用javascript设置属性-我已经尝试了几种方法。有人能帮忙吗?非常感谢


还有谁能推荐一个好的资源来讨论jmeter的许多“怪癖”?非常感谢

使用vars.put或props.put会有所帮助,正如详细解释的那样

“我感觉它不会重新评估用户定义的变量”——我使用JMeter 2.9,它确实如此。我使用用户定义的变量来计算循环的数量。它看起来像:
${uuujavascript(${MY\u USER\u DEFINED\u VARIABLE}>0)}
。唯一恼人的是,我必须获取变量的值,增加它,转换为字符串(Groovy中的
toString()
),然后将新值放入
MY_USER_DEFINED_variable
(通过使用
vars.putObject(“MY_USER_DEFINED_variable”,localBSFVariable)