我有一個帶請求和持續時間斷言的HTTP請求採樣器。現在,當響應斷言失敗時,下一個HTTP請求採樣器不允許運行。只有持續時間斷言失敗時,才允許運行下一個HTTP請求採樣器。有沒有辦法來檢查某個斷言是否失敗
我開始與IF Controller
這樣做的,檢查${JMeterThread.last_sample_ok}
但這是,當我只有到位的響應斷言。當添加持續時間斷言和新的要求時,不再適用。
當持續時間斷言失敗時,我嘗試過BeanShell Post Processors來添加某些變量。但是當持續時間斷言失敗時,下面的代碼總是讓我回到空陣列事件。
BeanShell的後處理器代碼:
import org.apache.jmeter.assertions.AssertionResult;
AssertionResult[] results = prev.getAssertionResults();
if (results.length == 0) {
vars.put("assertions_have_zero_length", "true");
}
//debug post processor shows the above variable.
我也曾嘗試使用BeanShell的聽衆,這確實給我回兩個斷言,但在創建時(將)某些變量,他們不會在調試後出處理器。
BeanShell的監聽器代碼:
import org.apache.jmeter.assertions.AssertionResult;
AssertionResult[] results = sampleResult.getAssertionResults();
System.out.println("Current counter value = " + results.length);
if (results.length == 0) {
vars.put("assertions_have_zero_length", "true");
} else {
vars.put("assertions_have_zero_length", "false");
}
//no assertion_have_zero_length variable shown in debug post processor.
上午我做錯了什麼,是它甚至有可能我想要什麼?
在此先感謝。