jmeter在Non-GUI 模式下,保存响应值到文件,4种方法

前言

1、使用 Jmeter Non-GUI 模式下,执行jmx脚本,遇到发生错误响应时,需要查看请求与响应的记录,然而默认是没有保存响应值的设置。所以我们需要把接口的实际响应结果保存到文件,排查错误的时候用。

2、方法一、二都需要修改配置文件,是一次修改永久全局生效。

方法三、四只需要在jmx脚本里操作就可以,比较灵活,可以在需要的接口中使用,不需要查看响应数据的接口就不使用。

可以根据自己的需求来使用

 

方法一:

1、修改/bin/jmeter.properties配置文件

jmeter.save.saveservice.output_format=xml

jmeter.save.saveservice.response_data=true

2、执行命令

./jmeter -n -t test.jmx -l test.jtl   或者

./jmeter -n -t test.jmx -l test.xml

3、注意

xml格式可以在网页中打开,有的浏览器还会给美化显示一下

因为这是输出结果文件格式已经改为 xml,不能再进一步解析为 Html 格式报告,所以这时 -e -o 参数无效。

得到的 test.jtl 可以使用 GUI 模式下的 View Results Tree 浏览打开观看,但是 View Results Tree 只能看到最多 200KB 的文件内容,更多的只能通过 grep 或者文本编辑器查看。

 

方法二:

1、在/bin/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

2、执行命令

./jmeter -n -t test.jmx -l test.jtl   或者

./jmeter -n -t test.jmx -l test.xml

3、注意

user.properties会覆盖jmeter.properties,一般修改配置都是修改或者添加user.properties,不建议修改jmeter.properties

通过修改reportgenerator.properties的下面配置,可以改变生成的报告的内容。建议这些修改,都放到user.properties里面去

 

方法三:

1、在jmx脚本中每个接口下都使用beanshell断言,断言错误的接口用代码设置为错误信息打印出来,如下

String jsonResult = prev.getResponseDataAsString();//获取返回信息
if ( !jsonResult.contains(“哈哈哈”)) {
    Failure = true;
    FailureMessage = jsonResult;

}

2、执行命令

./jmeter -n -t test.jmx -l test.jtl

在test.jtl中就可以看到fail接口的实际返回信息

3、注意

这种方法就可以用-e -o /test生成html报告了,如下

./jmeter -n -t test.jmx -l test.jtl  -e -o /test

 

方法四:

1、利用正则提取器或者json提取器,把响应结果提取出来,赋值给一个变量resultString

在接口下添加“响应断言”元件,在自定义失败消息中填入${resultString},如图

《jmeter在Non-GUI 模式下,保存响应值到文件,4种方法》

2、执行命令

./jmeter -n -t test.jmx -l test.jtl

在test.jtl中就可以看到fail接口的实际返回信息

 

 

 

 

 

 

 

 

 

 

    原文作者:萌翻天
    原文地址: https://blog.csdn.net/qq_40308101/article/details/103614289
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞