将压测返回的错误信息写入 jmeter.log

    很多测试小伙伴在使用 jmeter 进行性能测试过程中,经常会遇到一个令人头疼的问题:压测返回报文与断言不匹配时,如何将返回的原始报文保存到日志中,方便后续定位问题。此时传统的响应断言 (Response Assertion)方式就不满足需求了,需要自己通过写BeanShell Assertion的方式来实现。下面就来演示具体的步骤 (不啰嗦,直接切入主题😄 )。

//需要将org.json.jar包放置到jmeter安装目录的lib文件夹下,然后引入jar包
//jar包下载位置:https://mvnrepository.com/artifact/org.json/json/20190722
import org.json.*;
//获取返回的报文
String response = prev.getResponseDataAsString();
//将返回报文转换为json对象,判断其中的code,如果code为非20000,则将结果输出到log文件中
JSONObject jsonObject2 = new JSONObject(response);
if(jsonObject2.get("code").toString() != "20000"){
        //如果返回的报文中状态码不是20000,则将此用例的状态设置为失败并且将返回报文写到jmeter的log文件中
          Failure=true ;
        log.info("*****************");
        //将日志级别修改为error,方便定位查找
        log.error("返回报文异常:"+response);
}



↙↙↙阅读原文可查看相关链接,并与作者交流