目录
- 前言
- 工具安装
- 安装jmeter
- 安装JDK
- 安装ant
- 安装Jenkins
- Jenkins持续集成构建
- 新建自由项目
- 手动构建
- 查看构建结果
- FQA
- 构建时没有从仓库拉取代码,而是直接从本地读取build.xml文件,构建后邮件发送成功但是接收不到测试报告附件?
- 收到的邮件附件,打开测试报告后图标按钮不能正常展示
- 测试报告中一些统计指标展示为”NaN”
- 非root用户不能直接在Jenkins服务器上使用jmeter的环境变量表达式${JMETER_HOME},
- 总结
如何通过Jenkins集成自动化接口测试
前言
由于业务要求,最近做了接口自动化测试。在此之前,在网上了解不同的框架。结合我们目前使用jmeter做接口测试,并且已输出了大量测试脚本,综合考虑工作量、时间成本等客观因素之后,决定采用jmeter+ant+jenkins+svn的框架搭建一套自动化部署流程。该框架已基本满足我们日常接口自动化测试。废话不多说,请阁下参见以下步骤。
工具安装
安装jmeter
- 下载jmeter安装包
下载地址: http://jmeter.apache.org/download_jmeter.cgi - 配置环境变量
JMETER_HOME 为 jemter安装路径;(如:E:\install\apache-jmeter-5.3)
PATH为%JMETER_HOME%\bin (结尾不要加;) - 安装验证
在命令窗口中输入jmeter -v
回车,能出现jmeter版本则说明配置成功
安装JDK
- 下载jdk安装包
- 配置环境变量
JAVA_HOME 为( 如:E:\install\Java\jdk1.8.0_121)
CLASSPATH为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
PATH为 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin - 安装验证
在命令窗口中输入java -version
回车,能出现java版本则说明配置成功
安装ant
- 下载ant安装包
地址:https:///bindownload.cgi 配置环境变量
ANT_HOME 为 (如:E:\install\apache-ant-1.10.11)
CLASSPATH为 %ANT_HOME%\lib;
PATH为 %ANT_HOME%\bin- 安装验证
命令行输入ant -v
,出现版本信息则安装成功 配置ant
配置库文件
1)将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中。
修改jmeter的bin目录下jmeter.properties文件的配置:由原来的jmeter.save.saveservice.output_format=csv
改为jmeter.save.saveservice.output_format=xml
,并且去掉注释。
2)配置ant的编译文件build.xml
复制模板文件并命名为build.xml
, 然后修改文档画红框的内容。
build.xml模板文件:
build-mail.xmlbuild-without-mail-info.xml
以下是基于Jenkins服务器和svn不在一台服务器时的build.xml
文件配置
Jenkins服务器上需安装jmeter和ant并配置环境变量。
3) 验证配置
将之前的jmeter的脚本和build.xml配置文件放在与测试脚本相同的目录下,如下图:
4)执行构建测试
进入命令行,进入build.xml
文件所在目录,执行ant run
命令。
如我的E:\jmeter\script
下面有两个脚本,如下图为执行成功:
5)查看测试报告
在报告输出存放路径下查看是否有jtl和html结果报告
6)优化测试报告
(1)下载报告模板jmeter-results-shanhe-me.xsl
,拷贝到jmeter的extras目录中
下载地址:jmeter.results.shanhe.me.xsl
(2)设置测试输出报告要输出的内容。在jmeter.properties
中,设置需要输出的内容为true
,并去掉前面的注释符号#,这里全部设置成true
后保存
(3)设置build.xml
文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl
(4)在build.xml
文件所在目录,执行ant run
命令,查看优化后的测试报告
安装Jenkins
我们团队已部署有Jenkins,故无需再安装。以下Jenkins安装配置步骤仅供自己本地测试时参考。
- 下载并安装Jenkins
(1)下载地址:https://www.jenkins.io/
(2)方式一:下载windows版本直接点击下一步安装即可。
(3)方式二:下载war包方式,将war包放入安装好的tomcat到路径下webapps目录,具体操作步骤可自行百度。
- 配置环境变量
JENKINS_HOME 为 (如:E:\jenkins)
- 启动Jenkins
(1)浏览器中输入:http://127.0.0.1:8080/jenkins,打开jenkins。(2)按照提示的路径查看密码,在下方输入密码
(3)选择安装插件,第一个为默认安装,第二个为手动,这里选择默认的。
有些插件下载不下来,可更改管理插件中最新更新站点地址为下方路径https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
在Jenkins插件管理中安装 HTML Publisher Plugin、Email Extension Plugin和Groovy plugin
(4)安装完插件后,创建新用户、用户后续登录和管理
登录Jenkins后的界面如下:
(5)配置ant环境变量
新建自由项目
- 定义一个易懂的描述性的名字(如:自动化测试)
- 配置svn地址及凭证
- 在build Triggers中勾选Bulid periodically,填写定时任务规则,如每周一至周五每天19:00分构建任务(0 19 * * 1-5)。填写完成后保存。
- 配置构建信息,点击build选中Invoke,在Build File填写
build.Xml
文件所在路径 - 配置报告信息
- 配置发送邮件相关信息
配置发送邮件前,需先在Jenkins的系统管理里设置发送邮件的账号和邮件通知模板信息
附邮件内容:mail_info.txt
手动构建
查看构建结果
检查接收邮箱是否收到构建的邮件
以上即为完整的jmeter+ant+Jenkins+svn配置,报表展示部分后续再做优化
FQA构建时没有从仓库拉取代码,而是直接从本地读取build.xml文件,构建后邮件发送成功但是接收不到测试报告附件?
原因:因为配置Editable Email Notification时Attachments目录默认指向工作空间,从本地读取代码时不会保存数据在工作空间,导致读不到数据
解决办法:增加一个构建步骤,即Execute Windows batch command,手动将本地执行结果报告的html文件复制到Jenkins工作空间目录里。如果直接从svn拉取脚本,则Attachments也是写项目该测试报告的相对路径
收到的邮件附件,打开测试报告后图标按钮不能正常展示
原因:没有将图标拷贝过来,配置邮件发送附件时可将图标一起发送
测试报告中一些统计指标展示为”NaN”
解决办法:将jmeter安装目录的lib目录下的xalan-2.7.2.jar和serializer-2.7.2.jar拷贝到Ant的lib目录下
非root用户不能直接在Jenkins服务器上使用jmeter的环境变量表达式${JMETER_HOME},
所以配置build.xml时只能指向jmeter的绝对路径,或者使用root用户指向Jenkins
总结在实际搭建过程中可能会遇到各种不同的问题,比如配置邮件发送部分折腾了不少时间,也百度查阅了其他大佬和咨询我们小组其他测试大佬的处理意见,最后结合我们目前的环境终于完成搭建。此文仅供有兴趣的小伙伴在使用该框架搭建时参考使用!