小白搭建自动化测试平台
网上太多说怎么搭建jenkins+ant+jmeter的文章,但很多操作细节都没说,本文主要是为小白编写的零门槛操作手册。最终,想要告诉在测试一途匍匐前进的小伙伴们,测试最终的大杀器是测试思想,千万不要过于热衷和依赖工具,工具只是为测试提供便利的,千万不要本末倒置。
1.准备
系统:win7专业版/winsever2008
安装包:
jdk:jdk-8u91-windows-x64.exe(这里jmeter3.2最低需要jdk8支持)
Jenkins:jenkins-2.60.3.zip
Ant:apache-ant-1.10.1.zip
Jmeter:apache-jmeter-3.2(这里3.2版本对响应数据的兼容性更好,中文乱码的 情况更少)
编程工具:Notepad++(用于修改代码片段)
片段/插件:build.xml代码片段、
测试模版:jmeter.results.shanhe.me.xsl、jmeter-results-detail-report_21.xsl
PS:以上文件除build.xml文件,其他安装包等请自行下载,本文也会提供下载方法。
2.安装jdk
安装包可以到官网下载也可到第三方应用市场(或直接百度也可)下载安装(此法版本可能不是最新,但比较稳定),后面使用的jmeter也需要jdk支持,但他会自动加载jdk,此处将jdk放在第一位置是为了后续如果有误操作导致jdk故障,可参照此处重新安装jdk修复。
2.1 安装jdk
安装JDK选择安装目录,安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。这里建议使用默认路径,会自动分开两个文件夹。(不能强行安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错。)如下图所示:
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输入java和java-version(java和-version之间有空格)。
如图所示,显示版本信息则说明jdk和jre安装配置成功。
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\.jenkins(administrator用户需根据具体电脑设置进行相应修改,如有兴趣也可尝试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_HOME:ant安装路径,即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 Display(jmeter工作台添加“非测试元件-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测试报告模版获取汇总报告模版:
测试报告左上角展示信息优化:
修改第31行showData值为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,根据需要修改需要展示的字段。
此处我删除了两处count:thread_counts和sample_count两个字段并将response code与response message合为response code/msg一个,效果如下:
Assertion(断言信息)、request(请求信息)和response(响应信息)不在此处作修改。
两个模版优化后放至“jmeter安装目录\apache-jmeter-3.2\extras”下备用。
ps:此处会因为5.3测试报告输出字段配置失误导致个别字段显示不出来(我在实现的时候url老出不来),如出现此类情况请先将所有测试数据初始化(原有的jtl文件、html文件,对应在workspace/projectname和jobs/projectname/htmlreports两处都需要将结果文件清空,否则运行出来的结果会影响到新文件的生成,会让我们误以为配置修改不成功,我在配置的过程中遇到这个大坑,给大家踩平了,当然也希望大家利用这篇文档可以一次性配置成功)。
6.Jenkins自动化实例
6.1 建立自由风格项目
6.2 设置构建保留时限
6.3 设置触发条件
我设置的是工作日(周一到周五)每天8点以后随机触发,如设置项目构建完成后运行自动化测试,请忽略此处设置。
日程表规则:
这里共5位参数,分别是minutes(0-59)、hour(0-23)、month(1-12)、week(1-7),*表示不限制,五位数字设置时中间一定加空格间隔开,否则无法识别。
第一个是代表分钟 H 表示随机
第二个是代表小时 9-15/4表示9点到下午三点期间的每隔4个小时
第三个是代表天 * 任意一天
第四个是代表月份 1-11 表示1到11月份
第五个是代表星期 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*.jar和serializer*.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 发送通知邮件
选择HTML(text/html),配置邮件模版
附上邮件模版代码:
配置收件人清单,收件人之间用英文逗号“,”隔开。
ps:如果此处发送的邮件有中文乱码,还记得系统配置时的邮箱配置吗?字符集改成GBK试试(默认为UTF-8)。
更多推荐
所有评论(0)