前言 : 做性能测试期间我们有时在window上调试的脚本是没问题的,但是放在linux服务器上去压测可能会报错,我们需要拿到响应的数据好分辨是什么原因,但是jmeter默认是没开启响应数据展示的
1. jmeter内部展示
2. 修改 jmeter.properties 文件
去除注释(#),保存即可
3. 修改 user.properties 文件
文件末端新增数据,保存
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true
4. 运行时检测响应内容是否与预期一致
添加BeanShell PostProcessor,根据自己需要调整配置
String response = "";
String str="\"code\":0";
response = prev.getResponseDataAsString();
if(response == ""){
Failure = true;
FailureMessage = "响应内容为空";
}
else if(response.contains(str) == false){
Failure = true;
String msg = "系统返回的和预期的不一致:" + response;
FailureMessage = msg;
log.info(FailureMessage);
print(FailureMessage);
}
5. 运行jxm脚本
在jmeter的bin目录中执行
命令: ./jmeter.sh -n -t ./test/测试脚本.jmx -l output.jtl
sz output.jtl
在window上打开查看结果树,浏览文件查看jtl文件信息,即可看到请求信息
6. 示例图
beanshell 执行时输出的预期界面不一致的,报错了一次超时连接。
jtl的就不展示了(dddd)懂的都懂哈哈