您可以使用JMeter的屬性而不是變量,通過jmeter functions或BeanShell的代碼訪問:
${__P(whileCondition,)}
${__setProperty(whileCondition,TRUE,)}
${__BeanShell(props.get("whileCondition")}
${__BeanShell(props.set("whileCondition")}
您可以嘗試使用類似如下結構:
Thread Group
HTTP Request
//set-found-condition
${__setProperty(txtFound,FALSE,)}
While Controller
// invert value in condition - will be executed while txtFound == FALSE
Condition = ${__BeanShell(!props.get("txtFound")}
. . .
[execute your test logic here]
. . .
YOUR HTTP Request
Response Assertion
// set your text assertion here
// this will results in ${JMeterThread.last_sample_ok} = TRUE if text found
IF Controller --FOUND
// if text found set separate variable or property - e.g. ${txtFound} - into TRUE
Condition = ${JMeterThread.last_sample_ok}
HTTP Request
//set-found-condition
${__setProperty(txtFound,TRUE,)} // this will be inverted to FALSE in the next WHILE cycle's condition, WHILE cycle will be exited
. . .
我想你也可以輕鬆使用附加到的BSF或BeanShell PostProcessor您的HTTP請求將txtFound屬性設置爲TRUE,而不是使用IF進行繁瑣的構建。
[得到了答案?](http://stackoverflow.com/faq#howtoask) – 2012-09-08 11:02:13