当基础的断言不够用的时候,比如要判断结果包含某个返回值,或者页面404的情况下,用beanshell断言自定义就很有必要了。
直接代码示例:
import org.apache.log4j.Logger;
import org.apache.jmeter.assertions;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.assertions.AssertionResult;
String data = SampleResult.getResponseDataAsString();
if ( data.indexOf("\"key1\":\"01\"") != -1 ) {
SampleResult.setSuccessful(true);
}
else if ( data.indexOf("404 Not Found") != -1 ) {
SampleResult.setSuccessful(true);
System.out.println("404:" + data);
log.info("404:" + data);
}
else {
SampleResult.setSuccessful(false);
System.out.println("assert false:" + data);
log.info("assert false:" + data);
}
需要import sampler包,jmeter自带的,里面有设置断言为true或者false
同时,将404 和错误的返回数据打印到日志中,便于分析出错原因。