Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。
现在我们来搭建接口自动化环境,Jmeter+Ant+Jenkins。
一、Jmeter安装和Jdk安装(自行安装,这个很简单的,注意安装路径,后面配置时要用)
本人安装路径:D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1
二、Ant安装
1)下载ant http://ant.apache.org/(自行安装,注意安装路径,后面配置时要用)
本人安装路径:D:\apache-ant-1.10.5
2)window中设置ant环境变量:
以下是我电脑ant配置
ANT_HOME D:/apache-ant-1.10.5
path D:/apache-ant-1.10.5/bin
classpath D:/apache-ant-1.10.5/lib
3)Win+r cmd打开 输入ant执行
说明ant安装成功!因为ant默认运行build.xml文件,build.xml 需要我们自己建立,
为了确定真的安装成功了 我们执行ant -version
4)将D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1\extras下面的ant-jmeter-1.1.1的jar包复制到D:\apache-ant-1.10.5\lib目录下
在D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1\demo目录下放build.xml文件,只需要配置下jmeter路径以及报告样式就可以使用我这个build.xml文件,注意,文件转码是utf-8格式
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\gongju\apache-jmeter-3.2" />
<property name="report.title" value="接口测试"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\gongju\apache-jmeter-3.2" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\gongju\apache-jmeter-3.2" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.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"指包含此目录下的所有jmeter脚本-->
<testplans dir="/Users/Desktop/jmx" 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>
<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-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>
6)在D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1\demo放一个.jmx的文件(.jmx文件jmeter工具能够测试通过)
7)在D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1\demo路径处,输入cmd 点击回车 输入ant 点击回车
上图的BUILD SUCCESSFUL 证明已经成功了,而且报告在D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1\demo\report\html下面,打开报告
报告就是D:\apache jmeter v3.1 官方正式版\apachejmeter\apache-jmeter-3.1\extras这个目录下jmeter-results-report_21.xsl这个样式生成的报告
三、安装Jenkins
官网地址:https://jenkins.io/index.html(注意安装路径,后面配置时要用)
jinkins安装包:https://pan.baidu.com/s/1GYjRtEO0SIRV_fkWSJdRwQ
提取码:2gcw
本人安装路径:D:\jenkins
1)在D:\jenkins路径处,输入cmd 点击回车 输入Java -jar 再把jenkins.war拖过来,点击回车
这就证明jenkins已经启动了
2)打开浏览器 输入:http://IP地址:8080 默认端口号为8080
3)安装Public HTML reports 插件和Email Extension Plugin插件和Qy Wechat Notification插件
4)Jenkins插件官网:https://plugins.jenkins.io/,下载插件至本地路径
点击系统管理-插件管理-Advanced,选择文件,上传Public HTML reports 插件和Email Extension Plugin插件
5)创建一个任务,输入:接口测试,选择:构建一个自由风格的软件项目,点击:OK
然后配置ant,增加build路径
配置报告,点击增加构建后操作步骤 并点击Public HTML reports
在Jenkins首页,点击系统管理,点击系统设置
或者是
或者
或者参照这个
点击Default Content 配置如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建状态: ${BUILD_STATUS}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
</td>
</tr>
</table>
</body>
</html>
看到邮件通知,编辑如下,并点击高级按钮
应用,保存后,进入jenkins首页配置,进入接口测试的项目配置
配置邮件,点击增加构建后操作步骤 并点击Editable Email Notification
可以在“Advanced Settings”中针对该项目进行个性化的配置、可以针对该项目定义该项目通知的收件人列表、主题、内容、附件等。
点击新增:
可增加成功或者失败状态下的操作:
设置完后点击保存。就可以去验证是否可以邮件通知了。
ant配置结束,下来验证下:点击立即构建:如图就说明成功了!
通过测试工程构建后,Jenkins配置的邮件通接收人可以正常收到构建信息的邮件通知!
四、企业微信配置
1:在Jenkins插件管理找到Qy Wechat Notification插件,进行安装
2:复制企业微信机器人提供的webhook地址(一定要企业微信内部群才可以创建机器人)
3:在job中进行配置使用,增加构建后操作-企业微信通知
4:执行后,企业微信就好会收到新的构建通知
到此,配置完毕。