性能测试四十八:Jenkins+Ant+Jmeter系统部署
工作步骤:
1、开发提交代码SVN/Git
2、代码编译、打war包
3、上传war包到服务器
4、重启web服务器
5、开始测试/自动化测试
6、发测试结果
Jenkins工作:
1、开发提交代码Git
2、Jenkins拉取代码,自动化编译,打包 -- 插件
3、Jenkins自动上传war包 -- 插件/sh、bat脚本
4、Jenkins自动重启tomcat -- sh脚本
5、Jenkins自动执行自动化脚本 -- sh脚本
6、Jenkins自动化发送测试报告 -- 插件
实现结果:
1、运行jmeter脚本
2、运行完成后发送测试报告
3、运行过程中有异常也发送测试报告
Ant+JMeter:自动化执行jmeter脚本,并且可以生成HTML报告
Jenkins+Ant+JMeter(windows为例):
一、部署Ant
将apache-ant-1.9.10.zip解压到任意英文目录下,
配置系统环境变量:ANT_HOME=D:\test\apache-ant-1.9.10
系统变量path中添加“;%ANT_HOME%\bin”
打开cmd,输入ant -version,显示如下信息,表示ant环境部署成功
二、修改Jmeter配置
修改jmeter的bin目录下的jmeter.properties文件:jmeter.save.saveservice.output_format=xml
将jmeter的extras目录下的ant-jmeter-1.1.1.jar拷贝到ant目录下的lib文件夹下
将jmeter-results-detail-report_21.xsl文件放到jmeter的extras目录下,替换原文件
在任意英文目录下新建一个脚本目录jmeter-workspace,将build.xml文件放在目录下,并创建jmx、report、result3个文件夹,目录结构如下:
修改build.xml,将其中的basedirectory和jmeter.home修改为自己环境的目录
三、部署Jenkins,注意Jenkins对应支持的jdk版本
将jenkins.war放到tomcat的webapp目录下,启动tomcat,待tomcat启动成功后,浏览器输入http://localhost:8080/jenkins
访问http://localhost:8080/jenkins/,第一次启动Jenkins需要输入初始密码,按照下图提示,在指定的目录下,找到C:\Users\admin\.jenkins\secrets\initialAdminPassword文件,拷贝其中的密码,输入密码进行下一步
其实在tomcat的日志里面已经打印出来了
如果Jenkins登录后页面显示为空白:
打开一个新的窗口,输入网址http://localhost:8080/jenkins/pluginManager/advanced,输入网址打开后滑动到页面下方,最底下有个【升级站点】,把其中的链接改成这个http的链接 http://updates.jenkins.io/update-center.json,然后在服务列表中关闭jenkins,再启动即可
选择插件,这里选择左边的建议插件即可
这个后如果有报错,没安装成功,也没关系,后面可以去官网下载想要的插件,进行安装
创建用户
四、配置Jenkins
1.安装插件
Jenkins主页左侧菜单“系统管理-管理插件
在一开始安装插件的时候有报错的,去官网下载然后这里上传,如上传ant和email
可选插件,搜索“Performance”进行安装
2.设置ant环境变量
Jenkins主页左侧菜单“系统管理-Global Tool Configuration(全局工具设置)”,新增ant,去掉“自动安装”勾选框,配置name和ant_home,如图:
3.邮件设置
首先在个人邮箱中开启POP3/SMTP服务,允许第三方软件通过邮箱发送邮件,设置成功后,邮箱服务商会提供一个授权码,将这个授权码记录下来。
Jenkins主页左侧菜单“系统管理-系统设置”
先在“Jenkins Location”里设置系统管理员邮件地址
在“Extended E-mail Notification”中做如下邮件配置,此处的password是邮箱的授权码
在“邮件通知里”,也配置跟上面相同的邮箱信息
有时候保存后回到邮箱设置发现数据没保存成功,需要再填再保存一下
设置完成后,可以点击右下角的“Test configuration”进行发送邮件测试,如果你输入的收件人邮箱收到Jenkins发送的测试邮件,证明邮件配置成功了。
五、新增项目
1.点击主页“新建”,创建一个“自由风格的软件项目”
2.项目配置
配置项目工作空间
3.源码管理,工作中如果用的是svn,这里就选svn配svn的信息,是git就选git配git的信息
4.构建触发器,这里配置定时构建,根据实际情况选择
方框内的表达式代表每10分钟构建一次,更多表达式写法,百度搜索“crontab表达式”
5.构建
先增加构建步骤,“执行windows批处理命令”
先把上次jmeter的jtl文件删除(如果不删除新的文件会追加到上一次的jtl中)
执行命令(windows):if exist "D:\test\jmeter-workspace\result\ptest.jtl" del "D:\test\jmeter-workspace\result\ptest.jtl"
再增加构建步骤,“invoke ant”,调用ant执行本次任务,选择配置好的ant即可
注意:test=ptest是把ptest这个jmx的名字,传入到ant的build.xml中,替换掉其中的test脚本名称
6.构建后操作
增加构建后操作“Archive the artifact”(归档成品)填写HTML报告路径
增加构建后继续增加“Publish Performance test result report”,填写jtl文件路径
增加构建后继续增加“Editable Email Notification”,配置邮箱信息,将“Default Content”修改为指定的HTML模板
点击“Advance Setting”中add trigger添加邮件触发器为“always”(跑完就要发邮件,不管成不成功)和“recipient list”(前面设置的收邮箱)
7.点击保存,完成项目配置,点击“立即构建”,jmeter就会开始执行
如果想把项目停掉就Disable,下次要用就Enable