1.搭建环境需要安装的软件(windows环境)
1.JDK:jdk1.8.0_144
下载地址: http://www.oracle.com/technetwork/java/index.html
2.ant:apache-ant-1.10.1
下载地址:http://ant.apache.org/bindownload.cgi
3. jenkins:jenkins-2.99
下载地址:https://jenkins.io/download
4. jmeter :apache-jmeter-2.12
下载地址:http://jmeter.apache.org/
2. 工具安装
2.1 jdk安装
双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径)
1)系统变量→新建 JAVA_HOME 变量 。
变量值填写jdk的安装目录(本人是 C:\Program Files (x86)\Java\jdk1.8.0_144);
2)系统变量→寻找 Path 变量→编辑
在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3)系统变量→新建 CLASSPATH 变量
变量值填写.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
系统变量配置完毕
4)检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)
若如图所示显示版本信息则说明安装和配置成功
2.2 jmeter安装
1)jmeter安装比较简单,直接解压apache-jmeter.zip 到指定目录即可
Jmeter插件安装,Plugins Manager(插件管理工具)JMeterPlugins-Standard(标准插件包)
Plugins Manager:
官网地址:https://jmeter-plugins.org/downloads/all/
JMeterPlugins-Standard:
官网地址:https://jmeter-plugins.org/downloads/old/
下载插件包后,将对应ext目录下的文件拷贝到jmeter安装目录lib\ext下
jmeter环境变量配置
2)设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\软件\apache-jmeter-2.12(请输入自己的安装目录),点击确定即可
在环境变量CLASSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;
在环境变量Path中添加%JMETER_HOME%\bin[if !supportLists]
3)检查是否安装成功
检验是否配置成功运行cmd输入 jmeter -v (jmeter和 -v 之间有空格)
若如图所示显示版本信息则说明安装和配置成功。
2.3 ant安装
1)解压apache-ant-1.10.1-bin.zip到指定目录下(自己选择目录)
2)配置ant环境变量
a.新建环境变量
ant_home:D:\软件\ant\apache-ant-1.10.1-bin\apache-ant-1.10.1此为你的ANT安装路径;
设置完成后,点击"确认"来保存。
b.在环境变量PATH的最后面添加一下内容:
;%ANT_HOME%\bin注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除
C. 进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了
3) 本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告
· jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
· 将apache-jmeter-2.12\extras\ant-jmeter-1.10.1.jar拷贝到apache-ant-1.10.1\lib目录下;
.将jmeter.results.shanhe.me.xsl 样式放入\apache-jmeter-2.12\extras目录下;同时修改jmeter.properties文件,修改内容如下
· 在\apache-jmeter-2.12\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.12\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件。 若构建失败,请分析cmd打印的日志消息,定位问题;(修改好build.xml中的路径)
Build文件 推荐 jmeter.results.shanhe.me.xsl 样式(文件不可以上传,可自行百度或者联系我)
2.4 jenkins安装
到官网下载windows安装包,双击,按照提示一步步操作即可, jenkins的默认端口是8080,如果发现接口冲突,修改jenkins的配置即可;修改安装目录下的jenkins.xml文件,
安装成功后,打开任意浏览器输入localhost:8080;进入jenkins登录界面;然后进入Manage Plugins界面,可以根据自己的需要安装插件。
3. jenkins集成API自动化
3.1编写一个jmeter接口脚本
找到jmeter的安装目录,在bin目录下找到jmeter.bat,双击打开
a.新建线程组,右键测试计划,添加选择线程组,
b.右键线程组,添加栏选择配置元件,选择HTTP信息头管理器
然后添加Content-Type:application/json
C.右键线程组,添加栏选择Sampler,选择HTTP请求
D.右键线程组,添加栏选择断言,选择响应断言
e.右键线程组,添加栏选择监听器,选择断言结果和查看结果树
F. 保存测试计划到指定目录
G. 跑压测,并发设置
H. 聚合报告说明
Label:每个JMeter的element的Name值。例如HTTP Request的Name
#Samples:发出请求数量。如第三行记录,模拟20个用户,循环100次,所以显示了2000
Average:平均响应时间(单位:)。默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
95%Line:95%用户的响应时间
99%Line:99%用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量。默认情况下标示每秒完成的请求数
KB/sec:每秒从服务器端接收到的数据量
3.2 工程目录创建
将jmeter的脚本文件和build.xml文件放在同一目录下,同时并创建一个report文件夹存放jmeter生成的报告,report里新建一个html文件夹和jtl文件夹;
4. jenkins创建job任务
4.1创建jenkins任务
创建项目,选择一个自由风格的
设置工作空间
构建选择ant(需提前在Jenkins中设置好变量)
构建后操作:在进入任务的配置页面,然后在构建后操作模块增加构建后的操作“Editable Email Notification”,如图
注意:在高级设置中设置邮件触发条件
邮件配置:设置Extended E-mail Notification
进入“系统管理”-“系统设置”,对Extended E-mail Notification进行配置,具体参考下图:
注意:上图中的Password不是qq密码,而是在QQ邮箱申请开通IMAP/SMTP服务后收到的密码
我的邮件模板代码:
<!DOCTYPE html>
<html>
<meta charset="GBK">
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<div>
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td colspan="2" align="center"><br />
测试报告</h2>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<div>${FILE ,path="D:/apiautomation/User-center/report/html/TestReport.html"}</div>
</td>
</tr>
</table>
</div>
</body>
</html>
4.2.构建jenkins
创建好jenkins任务后,点击立即构建,构建成功后,会发送邮件到指定邮箱,可以查看接口测试结果
4.3. [endif]定时触发构建
我们在使用Jenkins构建项目的时候。
常用到定时构建,定时在某个时间自动构建
我们需要在配置job的时候选择构建触发器
在日程表中按照格式写入时间,文本框下会显示上一次和下一次运行的时间,如图:
定时构建输入格式的设置:
输入的时间格式由五部分组成,每一部分用空格分隔
每个部分代表的含义以及取值范围分钟,取值范围(0~59):若其他值不做设定,则表示每个设定的分钟都会构建
如:5 * * * * ,表示每个小时的第5分钟都会构建一次小时,取值范围(0~23):若其他值不做设定,则表示每个设定小时的每分钟都会构建
如:* 5 * * * ,表示在每天5点的时候,一小时内每一分钟都会构建一次日期,取值范围(1~31):若其他值不做设定,则表示每个月的那一天每分钟都会构建一次
如:* * 5 * *,表示在每个月5号的时候,0点开始每分钟构建一次月份,取值范围(1~12):若其他值不做设定,则表示每年的那个月每分钟都会构建一次
如:* * * 5 *,表示在每年的5月份,1号0点开始每分钟构建一次星期,取值范围(0 ~ 7):若其他值不做设定,则表示每周的那一天几每分钟都会构建一次
如:* * * * 5,表示每周五0点开始每分钟构建一次
每一部分的表达方式
*:表示任意合理的数
a-b:表示一个范围,比如:5-8 * * * * OR * 5-8 * * *。具体表达的意思参考上面的含义
a-b/c OR */c:表示一个范围内每个c构建一次,比如:5-10/2 * * * * OR * */3 * * * 具体表达的意思参考上面的含义
a,b,c:表示为a、b、c时构建一次,比如:7,8,9 * * * * OR * * 13,5 * * 具体表达的意思参考上面的含义
附录
5.1邮件报告显示乱码解决方法
服务器添加环境变量JAVA_TOOL_OPTIONS:-Dfile.encoding=UTF-8,然后重启Jenkins即可
微信搜索:不懂测试的攻城狮 关注我的公众号,可查看更多资料!