JMeter 结果处理常见问题
1. 前言
2. 结果处理常见问题
1. 前言
工作中用 jmeter 请求一个接口对谈得上会 jmeter 的人似乎都是可以做出来的,但是实际难点是参数化,结果的断言,结果的汇总等。本文将针对结果过滤有效性的情况展开分析。
示例场景:一个接口需要对入参1000多个数据做测试,且需要对结果中断言失败的情况处理。
1)在察看结果树中只看失败情况
查看结果树的数据刷的哗哗的,其实真正测试中可能失败的比较少,刷刷的难以抓住,而且这个树似乎放不上1000多个数据,所以等执行完再看势必会少数据。
2)如何把日志放入文件查看
你发现问题总不能给研发数据的时候只有截图吧,要不然就去服务端日志里遨游。
3)cvs 文件遇到中文的尴尬
读取 cvs 的中文都是乱码。
4)失败请求数据的采集
断言失败如何把入参保存下来。
5)结果树响应数据中文乱码解决办法
2. 结果处理常见问题
1)在察看结果树中只看失败情况
简单的解决就是把绿色的部分都给屏蔽掉,如下图所示:
2)如何把日志放入文件查看
如果有下图提示,忽略即可。
下面是日志文件的样子:
3)cvs 文件中文读取乱码
不管是从哪里拿到的测试数据,当保存为 cvs 时要保存为 utf-8 的数据,可以先以 txt 文件写入数据,保存的时候再去修改。
在对应的线程组上配置循环为永远,利用 cvs 遇到结束符停止的功能。
4)失败请求数据的采集
以下示例是通过在断言失败时写入文件来达到目的。如果测试的数据特别多也需要对数量做统计,也是可以处理的。
注意点:jmeter 中接入的 python2 版本,jmeter 中赋值参数一定要是 u"参数值" 的 unicode 值,不然也会有编码的很多问题,所以存文件的时候要将其解码为 byte 的。
示例代码:
5)结果树响应数据中文乱码解决办法
jmeter 安装目录的 bin 目录下的 jmeter.properties 文件:
#sampleresult.default.encoding=ISO-8859-1
改为:
sampleresult.default.encoding=utf-8
之后重启 JMeter。