天天看点

jmeter+ant+jenkins接口测试及持续集成

此为Sunny 王苗苗同学的学习笔记,持续学习,持续分享,持续进步,向着大神之路前进~

1、安装jdk

2、安装Jmeter

3、安装Ant

4、安装Jenkins

5、Jenkins与Ant整合

1、安装jdk

下载exe文件,一直下一步安装即可

1)系统变量->新建 JAVA_HOME 变量

变量值输入jdk的安装目录(比如: C:\Program Files\Java\jdk1.8.0_211)

2)系统变量->寻找 Path 变量->编辑

在最后输入: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3)系统变量→新建 CLASSPATH 变量

变量值输入: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

检验是否配置成功运行cmd 输入: java –version,如图所示显示版本信息,则说明安装和配置成功。

jmeter+ant+jenkins接口测试及持续集成

2、安装Jmeter

官网:http://jmeter.apache.org/download_jmeter.cgi

直接下载zip包,解压即可直接使用。

1) 系统变量->新建 JMETER_HOME 变量

变量值中输入: D:\Sunny Wang\apache-jmeter-4.0,即jmeter安装目录

2) 系统变量->新建CLASSPATH变量

变量值中输入:

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

3) 系统变量->寻找 Path 变量->编辑

在最后输入:%JMETER_HOME%\bin

检验是否配置成功 运行cmd 输入 jmeter -v ,如图所示 显示版本信息则说明安装和配置成功

jmeter+ant+jenkins接口测试及持续集成

3、安装Ant

下载安装包,解压即可使用

1)系统变量->新建 ANT_HOME变量

变量值输入ant的安装目录(比如: D:\Sunny Wang\apache-ant-1.9.7)

2)系统变量->寻找 Path 变量->编辑

在最后输入: ;%ANT_HOME%\bin

进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了

jmeter+ant+jenkins接口测试及持续集成

4、安装Jenkins

下载war包

1)打开windows命令行窗口,进到jenkins.war所在目录,输入java -jar jenkins.war,回车,等待安装

jmeter+ant+jenkins接口测试及持续集成

2)新建一个start.bat文件,输入如下内容:

echo “Jenkins CI automation testting”

java -jar “D:\Sunny Wang\jenkins\jenkins.war” --httpPort=9091

pause

其中:D:\Sunny Wang\jenkins\jenkins.war是你自己的war包放置地址,注意路径双反斜杠。9091端口也可以修改为其他,后续启动地址相应修改即可。

3)双击start.bat运行,启动jenkins,有看到Jenkins is fully up and running说明jenkins启动成功,输入http://localhost:9091即可打开jenkins的UI界面。

4)找到jenkins初始密码

打开http://localhost:9091后,按照界面提示打开相应文件,找到初始密码,一般为:C:\Users\sunny.wang.jenkins\secrets\initialAdminPassword

5)插件下载

jenkins系统设置->管理插件->可选插件,分别搜索Ant、Email Extension Plugin、

HTML Publisher plugin并立即安装此插件,其他默认的我也没去掉,都安装了。

6)新建个用户,不建也没关系

5、Jenkins与Ant整合

  1. 将Jmeter目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下
  2. 修改Jmeter bin目录下jmeter.properties文件的配置:

    jmeter.save.saveservice.output_format=xml

  3. 工具文件夹有提供“两种报告样式”文件夹,分别其中jmeter.results.shanhe.me.xsl和jmeter-results-detail-report_21_TPS_90%_Received_OK.xsl两个文件拷贝到Jmeter目录下extras子目录里
  4. 在jmeter目录下新建jmeter_test文件夹,在jmeter_test下新建scripts文件夹,用于存放脚本build.xml
  5. 在jmeter_test下新建report文件夹,再在report下新建jtl及html文件夹,用于存放jtl文件及测试报告。
  6. 修改build文件内容。你需要准备一个jmeter的jmx文件

示例如下:

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="D:\Sunny Wang\apache-jmeter-4.0" />
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="D:\Sunny Wang\apache-jmeter-4.0\jmeter_test\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="D:\Sunny Wang\apache-jmeter-4.0\jmeter_test\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}">
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
            <testplans dir="D:\Sunny Wang\apache-jmeter-4.0\TEST" includes="unicom.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-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>
           
  1. 设好jenkins全局工具配置

    前面jenkins下载的插件下载完成后,进入到系统管理,在全局工具配置中配置jdk及ant,写上本地的地址即可

    jmeter+ant+jenkins接口测试及持续集成
    jmeter+ant+jenkins接口测试及持续集成
  2. 设好jenkins系统设置

    1、系统设置->Jenkins Locaction项填入Jenkins URL和系统管理员邮件地址,系统管理员邮件地址一定要配置,否则发不了邮件通知。因为邮件通知都是由系统管理员的邮箱发出来的

    jmeter+ant+jenkins接口测试及持续集成
    2、配置邮箱通知
    jmeter+ant+jenkins接口测试及持续集成
    jmeter+ant+jenkins接口测试及持续集成
  3. 配置Editable Email Notification ,设置发送的邮件模板
    jmeter+ant+jenkins接口测试及持续集成
    内容模板示例:
<!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>
           <td>(本邮件是程序自动下发的,请勿回复!)</td>
       </tr>
       <tr>
           <td>
               <h2> <font color="#0000FF">Hi All,  以下是jmeter接口自动化测试在Jenkins每次构建结果邮件通知!</font> </h2></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>构建地址 : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
               </ul>
           </td>
       </tr>            
       <tr>
           <td><b><font color="#0B610B">构建结果:</font></b>
               <hr size="2" width="100%" align="center" />
           </td>
       </tr>
   	<tr>
           <td>
                <ul>
   				<li>详细报告 : <a href="${PROJECT_URL}HTML_20Report">${PROJECT_URL}HTML_20Report</a> &nbsp;见附件:DetailsReport.html(注意请使用浏览器打开!)</li>
   				<li>总体报告 : <a href="${PROJECT_URL}HTML_20Report">${PROJECT_URL}HTML_20Report</a> &nbsp;见附件:SummaryReport.html(注意请使用浏览器打开!)</li>		
               </ul>
           </td>
       </tr>
   	 <tr>
           <td><b><font color="#0B610B">构建日志 :</font></b>
               <hr size="2" width="100%" align="center" />
           </td>			
       </tr>
   	<tr>
           <td>
                <ul>
   				<li>日志地址 : <a href="${BUILD_URL}console">${BUILD_URL}console</a> &nbsp;</li>	
               </ul>
           </td>
       </tr>		
</body>

</html>

           
  1. 新建item-Freestyle project
    jmeter+ant+jenkins接口测试及持续集成
    jmeter+ant+jenkins接口测试及持续集成
    jmeter+ant+jenkins接口测试及持续集成
jmeter+ant+jenkins接口测试及持续集成

12. 立即构建

jmeter+ant+jenkins接口测试及持续集成

结果:

jmeter+ant+jenkins接口测试及持续集成

上文所需文件打包在此

链接:https://pan.baidu.com/s/1m2MDvaSNd4XDqcNWOod4Tg

提取码:ij05

jmeter+ant+jenkins接口测试及持续集成

备注:此文为参考飞测群里的资料所完成,感谢群里人员的分享。