如何在 JMeter 测试 运行 期间按 exceptions/assertions 对报告中的响应进行分组
How to group responses in report by exceptions/assertions during JMeter test run
在测试期间,我从相同的请求中得到了 3 种类型的异常(或者也可能来自不同的请求)。
我想在任何类型的视图中对它们进行排序和分组,以查看每种类型的异常有多少。
我可以为响应中的每种类型的异常添加响应断言,但如何在报告中对它们进行分组?
在理想情况下,我想得到:
- DuplicateKeyException - 22% 的采样器
- NullPointerException - 5% 的采样器
- WorstEverException - 10% 的采样器
知道怎么做吗?
我至少想到了两种方法:
使用Sample Variables属性如:
- 使用相关 Post-Processor 从响应中提取异常类型并将其存储到名为
Exception
的 JMeter 变量中
将下一行添加到 user.properties 文件:
sample_variables=Exception
下次您 运行 在命令行非 GUI 模式下进行测试,例如:
jmeter -n -t test.jmx -l result.csv
您将看到一个名为 Exception
的额外列,其中包含异常值。现在您应该可以使用 LibreOffice Calc or Microsoft Excel 来计算特定异常的百分比
您可以使用JSR223 Listener来根据发生的异常重命名采样器,相关代码如下:
if (!prev.isSuccessful()) {
prev.setSampleLabel((prev.getResponseDataAsString() =~ "(\w+)Exception")[0][1] as String)
}
其中 prev
是父 SampleResult
的 shorthand
以上代码将从响应中提取异常类型(如果采样器失败并且异常类型存在)并根据异常类型重命名采样器。
中找到有关 Groovy 脚本的更多信息
在测试期间,我从相同的请求中得到了 3 种类型的异常(或者也可能来自不同的请求)。
我想在任何类型的视图中对它们进行排序和分组,以查看每种类型的异常有多少。
我可以为响应中的每种类型的异常添加响应断言,但如何在报告中对它们进行分组?
在理想情况下,我想得到:
- DuplicateKeyException - 22% 的采样器
- NullPointerException - 5% 的采样器
- WorstEverException - 10% 的采样器
知道怎么做吗?
我至少想到了两种方法:
使用Sample Variables属性如:
- 使用相关 Post-Processor 从响应中提取异常类型并将其存储到名为
Exception
的 JMeter 变量中
将下一行添加到 user.properties 文件:
sample_variables=Exception
下次您 运行 在命令行非 GUI 模式下进行测试,例如:
jmeter -n -t test.jmx -l result.csv
您将看到一个名为
Exception
的额外列,其中包含异常值。现在您应该可以使用 LibreOffice Calc or Microsoft Excel 来计算特定异常的百分比
- 使用相关 Post-Processor 从响应中提取异常类型并将其存储到名为
您可以使用JSR223 Listener来根据发生的异常重命名采样器,相关代码如下:
if (!prev.isSuccessful()) { prev.setSampleLabel((prev.getResponseDataAsString() =~ "(\w+)Exception")[0][1] as String) }
其中
的 shorthandprev
是父 SampleResult以上代码将从响应中提取异常类型(如果采样器失败并且异常类型存在)并根据异常类型重命名采样器。
中找到有关 Groovy 脚本的更多信息