搭建自动化测试可持续集成平台 jenkins ant jmeter
第一次搭建自动化可持续集成平台,有不足之处望指出,以下搭建环境(wind 10,基于JDK1.8);
1: 准备的工具:JDK 1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jenkins-2.46.3 https://jenkins.io/
apache-ant-1.9.9 http://ant.apache.org/bindownload.cgi
apache-jmeter-3.2 http://jmeter.apache.org/download_jmeter.cgi
以上下载windows对应的版本
2: 以上准备工具(jdk/jenkins)点击直接安装,(ant/jmeter)解压即可,最后配置环境变量
ANT_HOME:D:\apache-ant-1.9.9
classpath:D:\apache-ant-1.9.9\lib;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_121
JMETER_HOME:D:\apache-jmeter-3.2
path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%ANT_HOME%\bin;%JMETER_HOME%\bin 注:别把系统设定的环境变量覆盖了,累加到后面就行
3:校验环境变量设置是否正常
4:jenkins 新建jobs设置内容如下
构建Ant,调用ant的build.xml配置文件
以下是我设置的build.xml
<?xml version="1.0" encoding="GBK"?>
<!-- 这个是推荐build,至于原理,大家可以查看ant-jmeter-1.1.1.jar源码 -->
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<property name="basedirectory" value="D:\apache-jmeter-3.2\script_demo" />
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\apache-jmeter-3.2" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${basedirectory}" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${basedirectory}" />
<!-- Name of test (without .jmx) -->
<property name="test" value="Test"/>
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<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"指包含此目录下的所有jmeter脚本-->
<testplans dir="${basedirectory}" includes="${test}.jmx" />
</jmeter>
</target>
<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>
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
在jenkins中安装jmeter报告插件:
报告的优化
发送邮箱的配置
jenkins的邮箱配置,在系统管理----系统设置 配置
注:上下这两张图的邮箱地址一定要保持一致
关于授权码设置:登录自己的邮箱,找到关于邮箱设置客户授权密码功能;例如我的126邮箱 设置---》客户端授权密码 设置开启授权码,再设置授权码就行了;否则上面一步,测试发送邮件是发送不出去的;
jenkins配置ant
5:准备jmeter脚本 一个是jmeter自带脚本,一个是录制的百度登录页面脚本 (Test.jmx 百度登录、Test1.jmx jmeter自带脚本)
6:开始构建
蓝色为构建成功,红色是构建失败
遗留问题:第一个和第二个job jmeter_test 与 jmeter_test2 次构建的build in workspace 不一样;配置一致
后续再补充