JMeter踩坑:自动化生成测试结果报告/响应内容为空
2019-03-08 本文已影响0人
DayBreakL
一、自动化生成测试结果报告
1. 如何生成测试结果报告?
终端执行命令:
./jmeter -n -t 要执行的脚本地址.jmx -l 存放jtl结果的地址.jtl -e -o 存放结果报告的文件夹地址
在存放报告的文件夹中index.html就是可视化测试报告。
image.png
报告如下:
image.png
踩坑:
该命令要在jmeter的bin目录下执行
很多教程都写的是jmeter -n -t开头,实际是./jmeter
每次新的测试计划执行都要把之前的结果报告删除,否则新的测试报告不能读入
如何自动化进行?
每次都要手动删掉之前的报告,再手动命令,麻烦,自动化脚本走一个。
建一个批处理文件,代码如下:(我用的mac,.sh文件,win是.bat,命令可能有差异,但原理就是酱紫)
#!/bin/sh
#删除result.jtl
rm -f /Users/xxx/Documents/software/apache-jmeter-4.0/bin/result.jtl
#删除ResultReport文件夹
rm -rf ResultReport/
#新建ResultReport文件夹
mkdir ResultReport
#执行测试计划
./jmeter -n -t /Users/xxx/Documents/Quality/interface_testing/interface.jmx -l /Users/xxx/Documents/software/apache-jmeter-4.0/bin/result.jtl -e -o /Users/xxx/Documents/software/apache-jmeter-4.0/bin/ResultReport
放在bin目录下
image.png
需要执行时,终端在bin目录下:
./jmeter_auto.sh
二、响应内容为空
web端调用这个接口有响应内容,postman调用也有响应内容
image.png
经历了无数尝试,终于发现因为入参有中文导致的,在Content encoding中填入utf-8就好了
image.png