JMeter 接口自动化

简介

Jmeter+Ant+Jenkins组合搭建一套webservice接口测试的持续构建环境。同时都基于JAVA 需下载对应JDK

JDK安装与配制环境变量

Jmeter Ant Jenkins 都是基于java 而java允许环境为JDK
Ant只支持JDK8及JDK11(编写此文当时)

配置环境变量

在这里插入图片描述

创建系统变量JAVA_HOMDE

值 D:\JDK\jdk-11.0.7(JDK安装路径) 

在这里插入图片描述

创建系统变量CLASSPATH

值 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

在这里插入图片描述

编辑变量Path

添加 %JAVA_HOME%\bin

在这里插入图片描述

进入系统 执行 java -version

快捷键“ win + R ” ,打开运行窗口,输入cmd,点击确定打开命令行窗口

在这里插入图片描述在这里插入图片描述

Ant安装与配制环境变量

当前使用的ANT版本: apache-ant-1.10.8
下载地址 http://ant.apache.org/bindownload.cgi 下载后解压到指定位置即可
注意:环境配置中如果设置成:path:%ANT_HOME%\bin (为了方便在dos环境下操作)
结果环境配置不成功,需要把地址换成为 D:\apache-ant-1.10.3\bin

选择合适的Ant版本进行下载

在这里插入图片描述

配置环境变量

在这里插入图片描述

创建系统变量 ANT_HOME

值 D:\apache-ant-1.10.3

在这里插入图片描述

编辑 CLASSPATH

变量中添加: %ANT_HOME%\bin

在这里插入图片描述

进入系统 执行 ant -v

快捷键“ win + R ” ,打开运行窗口,输入cmd,点击确定打开命令行窗口

在这里插入图片描述在这里插入图片描述

JMeter与Ant关联配制

准备目录结构

创建文件夹其包含一个JMeter脚本文件夹,一个测试报告文件夹,一个可执行文件
(本人把该文件夹放置在JMeter下)

在这里插入图片描述

配置 build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="_yyyy_MMdd_HHmmss" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录 修改-->  
    <property name="jmeter.home" value="D:\jmeter\apache-jmeter-5.1.1" />
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径 修改--> 
    <property name="jmeter.result.jtl.dir" value="E:\uncleyong\JMeter_report" />
    <!-- jmeter生成html格式的结果报告的路径 修改-->
    <property name="jmeter.result.html.dir" value="E:\uncleyong\JMeter_report\html" />
    <property name="detail" value="_detail" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="SmokeReport" />
    <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="E:\uncleyong\JMeter_script" 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-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>

拷贝ant-jmeter-1.1.1.jar

将Jmeter extras目录下的ant-jmeter-1.1.1.jar 文件拷贝到 Ant 安装目录下的 lib 文件夹中

在这里插入图片描述
在这里插入图片描述

配置jmeter.properties

配置jmeter报告输出格式为xml
在jmeter安装目录bin目录下jmeter.properties文件中修改 jmeter.save.saveservice.output_format=csv 为 jmeter.save.saveservice.output_format=xml 并去掉前面的注释符号  # 

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

验证配置执行构建

快捷键“ win + R ” ,打开运行窗口,输入cmd,点击确定打开命令进入到 build.xml 所在目录
输入ant run ,执行测试
看到 BUILD SUCCESSFUL 则说明构建测试成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Jenkins安装与配置

下载安装

地址:https://www.jenkins.io/
windows安装比较简单,双击下载的Jenkins安装包 Jenkins.msi ,进入安装模式,选择默认配置,一路next直至安装完成。
安装完成后直接打开浏览器,输入http://localhost:8080进行操作即可

在这里插入图片描述
在这里插入图片描述

插件下载

插件安装(已安装请忽略):
Ant 插件:Ant Plugin、Ant In Workspace
HTML测试报告插件:HTML Publisher Plugin、 Performance 

在这里插入图片描述

环境配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建项目(自动测试配置)

  1. 创建项目
    在这里插入图片描述
    在这里插入图片描述

  2. 设置丢弃旧的构建
    Jenkins在每一次的执行构建后,都会对该构建的项目生成一个历史构建记录,测试的项目越来越多,长期的构建,历史版本同样也越来越多。每编译执行一次,就会生成一个构建记录,预留的磁盘越来越满,有可能面临崩溃的风险。
    在这里插入图片描述

  3. 构建触发器
    每隔5分钟构建一次 H/5 * * * *
    每两小时构建一次 H H/2 * * *
    每天中午12点定时构建一次 H 12 * * **
    每天下午18点定时构建一次 H 18 * * *
    在每个小时的前半个小时内的每10分钟 H(0-29)/10 * * * *
    每两小时45分钟,从上午9:45开始,每天下午3:45结束 45 9-16/2 * * 1-5
    每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
    H H(9-16)/2 * * 1-5
    在这里插入图片描述

  4. 配置构建
    在这里插入图片描述
    在这里插入图片描述

  5. 设置构建后操作
    7
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. 自动发送邮件
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!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}HTML_20Report">${PROJECT_URL}HTML_20Report</a></li>    
                </ul>    

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#${GIT_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>

测试集成

控制台输出 BUILD SUCCESSFUL 构建成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值