看过我上篇博客的人就知道,使用Ant的方式去构建自动化测试确实有一些不太灵活的地方,而我们邮件通知返回的内容也不是那么让人满意,所以今天我来讲讲自己的一个优化过程。
首先说一下我的处理方式:
1、下载xsltproc,并用它去替换Ant;
2、更改构建步骤,用xslt实现jtl文件转换成html文件,并且添加发送短信的jmx文件执行步骤;
3、修改邮件的html模板,解决结果显示不直观的问题。
一、安装xsltproc
一般情况下,linux服务器是自带xsltproc的,这里如果没有的话,可以用下面的命令去安装:
yum install libxslt
安装完成后,大家需要查找到它的位置,因为我们后面的命令行需要用到,所以可以使用
rpm -qa|grep libxslt
找到对应的xslt版本,例如libxslt-1.1.28-5.el7.x86_64,然后运行命令行
rpm -ql libxslt-1.1.28-5.el7.x86_64
找到xsltproc所在路径。
二、更改构建步骤
1、删除“Invoke Ant”的这个构建步骤;
2、添加一个“Execute Shell”的构建步骤,输入生成jtl文件的命令行,具体模式为
jmeter.sh -n -t jmx文件路径 -l jtl文件路径
示例见下图:
3、添加一个“Execute Shell”的构建步骤,使用xslt实现jtl文件转换成html测试报告,具体命令行如下:
xsltproc文件路径 --stringparam dateReport "`date +%y-%m-%d\ %H:%M:%S`" jmeter-results-detail-report_21.xsl文件路径 jtl文件路径>html文件路径
示例见下图:
- --stringparam dateReport "`date +%y-%m-%d\ %H:%M:%S`" 是为了解决测试报告日期不显示的问题,我后面会说明。
- jmeter-results-detail-report_21.xsl文件路径 在jmeter安装路径的extras文件夹下。
4、添加一个“Execute Shell”的构建步骤,执行短信发送接口的jmx命令行,具体命令行如下:
jmeter.sh -n -t 短信发送接口的jmx文件路径
示例如下图