1.准备

系统:win7专业版/winsever2008

安装包:

jdkjdk-8u91-windows-x64.exe(这里jmeter3.2最低需要jdk8支持)

Jenkinsjenkins-2.60.3.zip

Antapache-ant-1.10.1.zip

Jmeterapache-jmeter-3.2这里3.2版本对响应数据的兼容性更好,中文乱码的 情况更少)

编程工具:Notepad++(用于修改代码片段)

片段/插件:build.xml代码片段、

测试模版:jmeter.results.shanhe.me.xsljmeter-results-detail-report_21.xsl

 

PS:以上文件除build.xml文件,其他安装包等请自行下载,本文也会提供下载方法。

2.安装jdk

安装包可以到官网下载也可到第三方应用市场(或直接百度也可)下载安装(此法版本可能不是最新,但比较稳定),后面使用的jmeter也需要jdk支持,但他会自动加载jdk,此处将jdk放在第一位置是为了后续如果有误操作导致jdk故障,可参照此处重新安装jdk修复。

2.1 安装jdk

安装JDK选择安装目录,安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre这里建议使用默认路径,会自动分开两个文件夹。(不能强行安装在java文件夹的根目录下,jdkjre安装在同一文件夹会出错)如下图所示

 

1:安装jdk随意选择目录只需把默认安装目录\java之前的目录修改即可

2:安装jre→更改→\java之前目录和安装jdk目录相同即可

注:若无安装目录要求,建议全默认设置。无需做任何修改,两次均直接点下一步。

 

 

2.2 配置环境变量

安装完JDK后配置环境变量 计算机属性也可使用快捷键win+break;笔记本的话可能需要Fn+win+break)→高级系统设置高级环境变量

 

系统变量新建JAVA_HOME变量。

变量值填写jdk的安装目录(本人是E:\Java\jdk1.8.0)

系统变量寻找Path变量编辑

在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

 

系统变量新建CLASSPATH变量

变量值填写.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)系统变量配置完毕

 

2.3 检查配置结果

检验是否配置成功:win+r运行cmd输入javajava-versionjava-version之间有空格)。

 

如图所示显示版本信息则说明jdkjre安装配置成功。

 

3.部署jenkins

百度jenkins 下载”,跳转到jenkins war包下载页下载最新war包(此法用于简易安装,不会跟随系统重启,每次需运行java命令重新部署(原设定已保存)),或到Jenkins官网下载稳定安装包(windows installer安装包,一直点击下一步,默认安装即可,不在此赘述。此法用于稳定安装,会跟随系统重启)。

3.1 安装jenkins

jenkins.war所在目录文件夹中shift+鼠标右键->选择“在此处打开命令窗口”cmd运行:java -jar jenkins.war(注意空格)等提示安装成功并运行后即可去浏览器地址栏输入:localhost:8080(默认端口8080

Ps:初学者在浏览器上操作前,一定先联网(安装插件需要联网)

 

 

 

Ps:这里jenkins的安装目录需记住,后面部署自动生成测试报告要用到,此处jenkins为简易安装,默认安装目录为:C:\Users\Administrator\.jenkinsadministrator用户需根据具体电脑设置进行相应修改,如有兴趣也可尝试jenkins自定义部署,不过配置调试的成本比较大)。

另在此提供jenkins启动和停止的命令供大家使用:net start jenkins(启动jenkins)和net stop jenkins(结束运行)。

3.2 jenkins激活

 

出现该页面说明jenkins安装部署成功,需要按照提示地址找到password粘到图中输入框验证,通过后即可建立管理员(只有建好管理员以后才算解锁成功,在这之前会提示安装插件,建议选择推荐安装,基础插件不用再费力去找了)建管理员时切记填写邮箱(初学者建议使用外网邮箱,便于设置成功)

管理员建好以后就会来到jenkins web页面,如下图:

 

3.3 Jenkins插件安装

jenkins右侧功能菜单选择系统配置,如图:

 

jenkins管理页面选择管理插件进到管理插件页面,选择可选插件(需联网),如图:

 

等插件列表加载完后,在右上角的过滤栏输入想要安装的插件,会检索到对应的插件,选择直接安装即可,建议在跳转出来的页面勾选“安装完成后重启jenkins”以使新装的插件生效。

 

此处需确定此处默认安装已安装如下三个插件,如部署jenkins时选择自定义,未安装则按照上述步骤搜索安装这两个插件:

Ant Plugin用于支持ant功能接入

Email Extension Plugin用于邮件配置,发送通知邮件

HTML Publisher plugin(用于发布测试报告)

ps:还有一种方法是将所需插件下载下来使用上传功能上传安装,如下图,对于某些服务器不能联网的,这种方法很奏效,但需要搞清楚各个插件间的依赖关系(如果安装顺序错误会报错,建议先找一台可以连网的机器先安装(会有备份的,路径:“Jenkins安装目录\Jenkins\plugins”,将后缀.jpi改成.hpi即可上传使用)),此处不赘述。

 

3.4 配置邮箱

此处发送邮件通知利用jenkins系统发送邮件功能(默认为系统email插件功能,此处为了丰富email功能需利Email Extension Plugin)

 

系统管理员邮件地址是必输的,否则会报错。

 

系统邮箱设置如上图,如邮箱没用到ssl协议请勿勾选“使用SSL协议”,设置完成后记得勾选测试,检查邮箱设置是否成功。

ps:中文版设置时有中文和英文两个版式,经测,仅填写英文或中文的即可,建议填写英文的(反正中英文是一一对应的,顺便熟悉英文版本),如果是局域网邮箱可参照下图:

 

4.配置Ant

百度ant下载,跳转到ant下载页面获取最新安装包。参照java环境变量设置,但仅配置两处系统变量即可:

1. ANT_HOMEant安装路径,即ant解压以后放至的路径(建议放在jmeter_home\extras\下,因为需要将ant-jmeter-1.1.1.jar放在apache-ant-1.10.1\lib下)。

2. Path:在系统变量中的Path里添加“%ANT_HOME%\bin;

ps:修改ant环境变量后一定记得重启电脑以使配置生效。

5.安装jmeter

5.1 下载

百度jmeter下载前往apache官网下载apache-jmeter-3.2.zip

5.2 安装

解压apache-jmeter-3.2.zip放至“C:\Program Files (x86)\”(稳定版jenkins默认安装目录)

5.3 Jmeter测试报告输出字段配置

jmeter安装目录\apache-jmeter-3.2\bin”下找到jmeter.properties文件使用记事本notepad++UE等开发工具修改以下参数:

此处原为csv”,现改为“xml”。

此处重点关注去掉注释部分字段,也可修改其他信息输出(部分标true信息虽然注释了,但实际还会输出出来,只是在Property Displayjmeter工作台添加“非测试元件-Property Display”)中不会显示),最后一定要将修改处注释去掉,否则不会生效,修改完保存即可(谨慎起见,建议将jmeter安装包和修改后的程序都备份一份)。

ps:此处仅修改涉及到报告生成的部分,其他系统运行配置保持默认即可,有兴趣的可以百度搜索修改之,但切忌做好下载包备份以防止修改错误导致jmeter生成报告功能不可用或异常。

5.4 测试报告优化

1. jmeter-results-detail-report_21.xsl

notepad++打开“安装目录\apache-jmeter-3.2\extras”下jmeter-results-detail-report_21.xsl测试报告模版获取汇总报告模版:

测试报告左上角展示信息优化:

 

修改第31showData值为y,其他title可根据具体项目名称修改,时间因获取的数据是动态的,此处时间戳未找到合适的获取方法,不建议修改。

 

测试报告版式优化(解决获取到的响应数据太长不折行问题)

 

55行后添加两行:

word-wrap:break-word;//文字行打断;

max-width:700px;//最大宽度为700px

并将white-space: nowrap;(空格处不允许折行)

改为white-space: normal;(正常格式)。

 

Url链接优化(满足报告快速切换的需求)

 

将原148行两处链接换为详细测试报告url地址和备份url地址,以便于在测试报告页面可快速查看详细报告和历史报告(url可在生成详细报告和备份后获取)

 

2. jmeter.results.shanhe.me.xsl

百度jmeter.results.shanhe获取测试报告模版jmeter.results.shanhe.me.xsl

折行优化:

由于请求和响应信息默认是不折行的,当数据长度过长时,会严重影响阅读,故而在此对模版中表格数据进行折行优化。

 

在模版代码开篇处第29行,参照jmeter-results-detail-report_21.xsl折行优化方法修改,具体宽度可根据实际情况修改,我的修改为了950px

 

Sampler字段优化:

使用notepad++打开jmeter.results.shanhe.me.xsl,根据需要修改需要展示的字段。

 

此处我删除了两处countthread_countssample_count两个字段并将response coderesponse message合为response code/msg一个,效果如下:

 

Assertion(断言信息)、request(请求信息)和response(响应信息)不在此处作修改。

两个模版优化后放至jmeter安装目录\apache-jmeter-3.2\extras”下备用。

ps:此处会因为5.3测试报告输出字段配置失误导致个别字段显示不出来(我在实现的时候url老出不来),如出现此类情况请先将所有测试数据初始化(原有的jtl文件、html文件,对应在workspace/projectnamejobs/projectname/htmlreports两处都需要将结果文件清空,否则运行出来的结果会影响到新文件的生成,会让我们误以为配置修改不成功,我在配置的过程中遇到这个大坑,给大家踩平了,当然也希望大家利用这篇文档可以一次性配置成功)。

6.Jenkins自动化实例

6.1 建立自由风格项目

 

6.2 设置构建保留时限

 

6.3 设置触发条件

 

我设置的是工作日(周一到周五)每天8点以后随机触发,如设置项目构建完成后运行自动化测试,请忽略此处设置。

日程表规则:

这里共5位参数,分别是minutes0-59)、hour0-23)、month1-12)、week1-7),*表示不限制,五位数字设置时中间一定加空格间隔开,否则无法识别。

第一个是代表分钟 H 表示随机 
第二个是代表小时 9-15/4表示9点到下午三点期间的每隔4个小时 
第三个是代表天 * 任意一天 
第四个是代表月份 1-11 表示111月份 
第五个是代表星期 1-5 表示工作日

没有用到 H 随机的话,不要加括号 
H(9-18) 表示9点到18点 中随机的一个点 

e.g.

* * * * * 表示任何一个时间段,同一个时间都可能会触发执行。不建议使用 
H/30 * * * * 表示每天每隔 30分钟构建一次 
H 4-19/3 * * * 表示,一天的凌晨点到下午7点,每隔3个小时构建一次 
* * 3-5 * * 表示,每个月的3号,4号,5号 都会被构建,具体时间未知 
* * * * 1-5 表示,工作日时会构建,具体时间未知 
H/30 8-19/3 1-28 1-11 1-5 表示 在1月到11月中的1-28号,每个工作日,早晨的8点到下午7点每隔3.5个小时会触发构建

6.4 编写ant执行脚本

百度搜索jenkins+ant+jmeter”,在博客中获取到build.xml源码,可参照博客中的说明和实际情况进行优化,最终达到的效果需可以使用浏览器打开build.xml文件并能查看对应源码信息,在此贴上源码文件。

 

 

build.xml文件编写完放在“安装目录/Jenkins/workspace/projectname”下

ps:这里的build.xml文件都是执行命令,按照如下顺序依次执行:

1. 定义一个项目,运行在工作空间,设置编码格式为GBK

2. 建立一个时间戳并设置时间格式,备用;

3. 设置jmeter运行目录jmeter.home

4. 设置报告生成目录及报告名称;

5. 调用xalan*.jarserializer*.jar两个jar包中的org.programmerplanet.ant.taskdefs.jmeter.JMeterTask

6. 声明jmeter运行脚本所在目录并设置报告生成格式为xml

7. 调用测试报告模版从jtl文件中导入数据到测试模版中去,生成测试报告;

8. 测试报告生成并备份,备份过程中需调用第二步生成的时间戳;

删除工作空间中的jtl文件(如不删除,历次测试结果会写到同一文件中去,最终影响到detail报告数据)。

6.5 调用ant

因我在build.xml中设置ant默认运行命令为run,且将build.xml文件放至安装目录\Jenkins\workspace\projectname下,故此处targets填写run

 

6.6 构建后操作

6.5.1 发布html报告

 

Result:发布html文件所在路径

Report.html:默认发布report.html(如果build.xml文件中生成的是index.html,则此处就得填index.html

6.5.2 发送通知邮件

选择HTMLtext/html),配置邮件模版

 

附上邮件模版代码:

 

配置收件人清单,收件人之间用英文逗号,”隔开。

 

ps:如果此处发送的邮件有中文乱码,还记得系统配置时的邮箱配置吗?字符集改成GBK试试(默认为UTF-8)。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐