Win下Jenkins+Jmeter+Ant自动化集成环境搭建
环境:win10
涉及:Jdk1.7.0_80、Jenkins2.60.3、Jmeter3.1、Ant1.9.9
步骤:
1. Java下载、安装、配置环境变量、验证
l 安装:默认
l 配置:JAVA_HOME:C:Program FilesJavajdk1.7.0_80
l 配置:Path:增加%JAVA_HOME%in;
l 验证:win+R输入cmd进入cmd.exe,执行javac -version,显示java版本即表示jdk安装成功
2. Jmeter下载、安装、配置环境变量、验证
l 下载:http://archive.apache.org/dist/jmeter/binaries/
l 解压:默认
l 配置:JMETER_HOME:D: 1Test 2Jmeterapache-jmeter-3.1
l 配置:
CLASSPATH:%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;%JMETER_HOME%liblogkit-2.0.jar;
l 启动:进入apache-jmeter-3.1in下启动jmeter.bat,jmeter启动成功即为安装成功
3. Ant下载、配置环境变量、验证
l 下载:http://ant.apache.org/bindownload.cgi
l 解压:默认
l 配置:ANT_HOME:D: 1Test 2Jmeterant
l 配置:CLASSPATH:增加%ANT_HOME%lib;
l 配置:Path:增加%ANT_HOME%in;
l 验证:win+R输入cmd进入cmd.exe,进入ant目录,执行ant -version,显示版本即表示安装成功
4. 修改jmeter.properties
修改apache-jmeter3.1in下的jmeter.properties

5. 准备好脚本,本人脚本存放路径:D: 1Test 2Jmeterscripts下的各个test目录下。
注:reports用于生成报告
6. 将apache-jmeter-3.1extras下的ant-jmeter-1.1.1.jar放在antlib下
7. Ant配置build.xml
l 将apache-jmeter3.1extras中的build.xml复制到antin下,并进行配置保存。

<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="_yyyyMMdd_HHmmss" /> </tstamp> <!-- 需要改成自己本地的Jmeter路径,路径根据自己情况更改--> <property name="jmeter.home" value="D: 1Test 2Jmeterapache-jmeter-3.1" /> <property name="report.title" value="接口测试"/> <!-- jmeter生成jtl格式的结果报告的路径,路径根据自己情况更改--> <property name="jmeter.result.jtl.dir" value="D: 1Test 2Jmeterscripts eports" /> <!-- jmeter生成html格式的结果报告的路径,路径根据自己情况更改--> <property name="jmeter.result.html.dir" value="D: 1Test 2Jmeterscripts eports" /> <property name="detail" value="_detail" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="Report" /> <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" /> <property name="jmeter.result.jtlNamedetail" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlNamedetail" value="${jmeter.result.html.dir}/${ReportName}${time}${detail}.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}"> <!--要运行的脚本"*.jmx"指包含以下路径下的所有jmx,如需执行多路径下的脚本,则将路径分别加载testplans里,路径根据自己情况更改--> <testplans dir="D: 1Test 2Jmeterscripts est3N" includes="*.jmx" /> <testplans dir="D: 1Test 2Jmeterscripts est3" includes="*.jmx" /> <testplans dir="D: 1Test 2Jmeterscripts est2" includes="*.jmx" /> <testplans dir="D: 1Test 2Jmeterscripts est" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <!-- 生成2个报告,一个概要的,一个详细的 --> <target name="report"> <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlNamedetail}" out="${jmeter.result.htmlNamedetail}" style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl"> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
l win+R输入cmd进入cmd.exe,输入一下命令,执行ant -buildfile build_20191109.xml,即可成功。
D:(进入D盘)
cd D: 1Test 2Jmeterantin(进入bin目录下)
ant -buildfile build_20191109.xml(运行)
8. Jenkins下载、安装、启动
l 下载:https://jenkins.io/download/,下载左边稳定版
l 安装:默认一切安装即可
l 登录localhost:8080,首次登录用户名为administrator,密码为提示文件中的内容,复制过来即可登录,登录后设置自己的用户名和密码即可
l 插件:首页->系统设置->管理插件->可选插件,根据需求搜索,本人已安装的插件如下图:
以前走的弯路,及遇到的错误问题
1、如提示错误:2 字节 UT8-8 序列的字节 2无效
将build文件用notepad++打开,在编码选择“以UTF-8无BOM格式编码”,然后保存。
2、java(TM) platform se binary 已停止工作
build配置文件按如下网页修改
http://www.cnblogs.com/test2016/p/5342065.html
3、${lib.dir} does not exist.
将以下内容注释掉:
<path id="xslt.classpath">
<fileset dir="${lib.dir}" includes="xalan*.jar"/>
<fileset dir="${lib.dir}" includes="serializer*.jar"/>
</path>
4、The following error occurred while executing this line:
解决办法:未确认
Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M
5、jmeter jar file not found or not a valid file:
D: 1Test 2JmeterinApacheJMeter.jar
解决:Jmeter路径不对
6、java.lang.IllegalAccessError:
tried to access class org.apache.xml.serializer.ExtendedContentHandler from class org.apache.xalan.transformer.TransformerImpl
ant下lib下有xalan*.jar,serializer*.jar,删除即可
7、The <copy> type doesn't support nested text data ("86 90").
可能是粘贴过去的内容不兼容,重新编写一遍即可