Jmeter+Ant+Jenkins部署集成环境
1 简介
一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。
2 环境依赖
*JDK
*ANT
*Jmeter
*Jenkins
2.1 JDK安装以及配置
- 下载安装包,我下载的是最新版jdk 1.8.0_161,官网下载地址是 http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.配置环境变量
变量名 |
值 |
说明 |
JAVA_HOME |
C:\Program Files\Java\jdk1.8.0_131 |
自定义的安装位置 |
CLASSPATH |
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
|
注意前面的. 如有还有内容要用;号隔开 |
PATH |
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin |
|
3. 安装验证
在命令窗口中输入java -version 回车,能出现java版本则说明配置成功
2.2 Jmeter安装
我使用的是apache-jmeter-4.0
- 下载地址:https://archive.apache.org/dist/jmeter/binaries/
- 插件下载地址:https://jmeter-plugins.org/downloads/old/
(解压JMeterPlugins-Extras-1.4.0.zip、JMeterPlugins-Standard-1.4.0.zip,将两个文件夹lib\ext目录下的所有文件拷贝到apache-jmeter-4.0\lib\ext目录下;)
3.验证是否安装成功: jmeter -v
2.3 Ant
2.3.1 简介
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于 Java 环境中的软件开发。
2.3.2 下载及配置
2.环境变量配置
变量名 |
值 |
说明 |
ANT_HOME |
E:\toole\apache-ant-1.10.5 |
|
Path |
%ANT_HOME%\bin |
|
Classpath |
E:\toole\apache-ant-1.10.5\lib |
|
3.检测配置
在cmd中输入ant执行
因为ant默认运行build.xml文件,build.xml 需要我们自己建立,这个可以在后面讲。
为了确定真的安装成功了 我们执行ant -version
4.如果输入命令提示不是内部命令也不是外部命令,则环境变量可能配置有问题,请重新检测
2.4 Jenkins
2.4.1 简介
Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
2.4.2 下载
下载地址:https://jenkins.io/download/
2.4.3选择版本
进入之后选择Long-term Support,这是长期支持的版本,Jenkins服务器一般选择该版本
2.4.4 安装
1、下载jenkins-2.25.zip然后解压后看到:jenkins.msi 双击打开
2、点击 Next ,选择安装的目录,也可以默认不改,我这里安装在 D:\Porgram Files\Jenkins ,这个安装目录最好记得保存下来,以后要用到
3、点击 Next
4、点击 Install 进行安装,
5、安装成功
6、点击 Finish ,出现启动 Jenkins,等待启动完成
7、启动完成后
7.1、复制上图标红的路径:D:\Porgram Files\Jenkins\secrets\
7.2、选中initialAdminPassword文件右键选择用记事本打开
7.3、复制里面的文本 我这里文本为:f7ceadf2bb7c44d59e3b955bb1c2c63f
粘贴到第7步的图中的Administrator password的文本框中 然后点击 Continue 按钮
8、出现下面界面 等待一会
9、等待一会出现以下界面:
10、点击 Install suggested plugins Install plugins the Jenkins community finds most useful. 安装插件,这里等待时间可能会比较长
10.1、如果安装出错会出现以下界面(如果上面安装成功请忽略此步骤)
10.2、点击 Retry 安装重试安装,安装成功后出现以下界面
11、填写以后登录Jenkins的账号和密码
12、添加完成后点击 Save and Finish 按钮
到此Jenkins已经安装完成了。
13.如果 8080 端口被占用无法打开,可以进入到jenkins 安装目录,找到 jenkins.xml 配置文件打开,修改如下代码的端口号即可,可以改为1080。 <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar"%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
14.重启Jenkins服务,在浏览器中输入地址:http://localhost:1080 即可看到jenkins界面,输入用户名及密码进入Jenkins
2.5 依赖配置文件
1.在jmeter目录E:\apache-jmeter-4.0下新建一个demo文件夹,并将jmeter测试脚本放在该文件夹中,我放了一个jmeter链接sqlserver进行查询的操作实例。
2.将E:\apache-jmeter-4.0\extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录,如图所示:
2.6 Build.xml配置
1.在E:\apache-jmeter-4.0\demo文件夹中新建build.xml
注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建。。新建。。新建。。
<?xml version="1.0" encoding="UTF8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="E:\apache-jmeter-4.0" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\apache-jmeter-4.0\demo\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\apache-jmeter-4.0\demo\report\html" />
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<testplans dir="E:\apache-jmeter-4.0\demo" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
上图注释已经很清晰了,只需要配置下jmeter路径以及报告样式就可以使用我这个build.xml文件了(注意红色部分的标记)
第3章 Ant构建
1.进入目录,输入cmd执行ant
2.看构建情况,构建失败了(注意路径有所调整,所以以文档中的为准)
(1)注意:无效字节,通过修改build.xml文件中的utf-8改成utf8后此问题不在出现
(2)注意:又产生新的问题,是因为编码问题,在复制粘贴的过程中,产生了一些不可见的乱码。 解决办法是将build.xml文件复制粘贴到vim editor中,并删除其中的乱码,保存后,
再次运行 ant,可以解决问题。
(3)另外在修改E:\apache-jmeter-4.0\bin\jmeter.properties文件夹里面配置
* jmeter.save.saveservice.output_format=xml
* sampleresult.default.encoding=UTF-8
3.构建成功的样子(重新调整了目录放的路径以及配置文件后)
4.上图的BUILD SUCCESSFUL 证明已经成功了,而且报告在report/html下面
5.现在我们打开报告看看。
6.其实就是E:\apache-jmeter-4.0\extras 这个目录下jmeter-results-detail-report_21.xsl这个样式生成的报告
7.修改build.xml中报告模版中的路径,最后执行即可生成最新的报告
第4章 Jenkins集成
- 打开浏览器 输入:http://localhost:8080/,填写用户名密码进行登录
2.创建项目,输入项目名称,选择个自由风格,然后点击OK按钮
3.构建触发器-构建-选择inoke ant,点击保存
4.增加build路径,输入xml地址,保存后配置测试报告
5.首先需要下载插件Public HTML reports (通常情况下安装时应该是带的有这些内容的)
如果没有则需要进行下载,可通过【系统管理】-【插件管理】-可选插件 输入HTML Publisher Plugin进行查询并进行安装
6.配置测试报告插件,用于打开测试结果报告,点击构建后-Post-build Action ,选择html report
7.输入生成报告的路径,点击保存。基本工作已经做完了
8.点击立即构建
9.工作区会出现构建进度,证明jenkins已经在构建了
10.点击html report 查看结果