SI'm試圖測試可能= null的JSON值。Jmeter:使用Beanshell Assertion測試null JSON值
首先我試着用jp @ gc - JSON Path Assertion。但是如果遇到空值,那麼它不會返回任何東西或定義變量。
所以我試圖讓它像這樣的工作:
- 使用JP @ GC - JSON路徑抽出來嘗試值提取到一個變量。
- 使用Beanshell斷言來測試以查看變量是否存在或具有空值
- 如果變量不存在或存在並且具有空值,那麼我知道JSON值爲空。
我沒有寫使用JMeter之前的任何腳本,所以我可能會做一些顯然是錯誤的,但這裏是我在BeanShell的斷言已經試過:
try {
String myValue = vars.get("myValue");
log.info("myValue =" + myValue);
}
catch (e) {
log.info("caught exception: "+e);
String myValue = null;
}
if (myValue.length() > 0 && myValue != 0){
Failure = true;
FailureMessage = "myValue was " + myValue + ".";
}
else{
Failure = false;
}
對於這個測試,一個空值實際上通過了測試。
我遇到的問題是try/catch塊不起作用。相反,我看到下面的消息在日誌中:
jmeter.assertions.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.util.JMeterUtils; try { //myValue = JMeterUtils.get . . . '' : Attempt to resolve method: length() on undefined variable or class name: myValue
誰能告訴我,我做錯了什麼和/或如何得到一個空的JSON值這個測試工作?
你可以顯示服務器的響應? – olyv