Jmeter+Ant+Jenkins实现接口自动化(转载)

时间:2022-02-09 07:12:08

转载自  http://www.cnblogs.com/chengtch/p/6145867.html

本文转载于上面的网址,稍作修改,实用性更强。

Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。

  1、安装JDK,配置java环境变量(略过)

  2、安装Jmeter,这里用到的版本是3.2(安装过程略过)

3、安装 ANT

3.1 下载安装

下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,

比如:F:\apache-ant-1.10.1-bin\apache-ant-1.10.1

3.2 配置环境变量

    Windows中设置ant环境变量:

    ANT_HOME  F:\apache-ant-1.10.1-bin\apache-ant-1.10.1

    path    F:\apache-ant-1.10.1-bin\apache-ant-1.10.1\bin

    classpath      F:\apache-ant-1.10.1-bin\apache-ant-1.10.1\lib

3.3 安装验证

验证安装结果,命令行输入ant -v ,出现版本信息则安装成功

Jmeter+Ant+Jenkins实现接口自动化(转载)

4、ANT中配置Jmeter  

4.1、配置库文件

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

copy from:

Jmeter+Ant+Jenkins实现接口自动化(转载)

paste to:

Jmeter+Ant+Jenkins实现接口自动化(转载)

4.2  配置ANT与Jmeter的配置文件

4.2.1 配置ant 编译文件 build.xml,build.xml配置文件与测试脚本同目录

拷贝下面的内容与新建的txt文件中,并将此文件改名为:build.xml,按实际情况修改build.xml文件

<?xml version="1.0" encoding="UTF8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
     <format property="time" pattern="yyyyMMddhhmm"/>
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="F:\Jmeter\apache-jmeter-3.2" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="F:\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="F:\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" />       
    <!-- 接收测试报告的邮箱 -->
    <property name="mail_to" value="1076375446@qq.com" />   
    <property name="lib.dir" value="${jmeter.home}/lib"/>     <path id="xslt.classpath">
        <fileset dir="${lib.dir}" includes="xalan*.jar"/>
        <fileset dir="${lib.dir}" 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脚本,若想执行某一个脚本时,将includes="*.jmx"中的"*"修改为具体脚本名称即可-->
            <testplans dir="F:\Jmeter\apache-jmeter-3.2\bin\app" includes="*.jmx" />
        <property name="jmeter.save.saveservice.output_format" value="xml"/>
    </jmeter>
    </target>     <target name="report">
        <xslt
       classpathref="xslt.classpath"
           force="true"
           in="${jmeter.result.jtlName}"
           out="${jmeter.result.htmlName}"
           style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
         </xslt>  <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>

根据build.xml中结果报告的路径创建文件

Jmeter+Ant+Jenkins实现接口自动化(转载)

4.2.2 配置jmeter.properties

配置jmeter报告输出格式为xml在jmeter根目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为

    jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

     (修改原因:jmeter执行结果文件默认保存的不是xml格式,无法转化成html格式) 

Jmeter+Ant+Jenkins实现接口自动化(转载)

4.3 验证配置,执行构建测试

4.3.1 准备测试脚本数据

build配置文件放在与测试脚本同目录

Jmeter+Ant+Jenkins实现接口自动化(转载)

4.3.2 执行测试

命令行cd到build.xml文件所在目录,输入ant run ,执行测试(路径最好不要用中文)

Jmeter+Ant+Jenkins实现接口自动化(转载)

看到build successful 则说明构建测试成功

4.3.3 报告输出路径下查看测试结果报告

按build.xml文件中设置的测试报告地址找到html版测试报告

Jmeter+Ant+Jenkins实现接口自动化(转载)

打开看看:测试结果展现了用例数、成功率、用例执行时间等结果参数

Jmeter+Ant+Jenkins实现接口自动化(转载)

5、配置jenkins

5.1 、jenkins.war的下载与安装,下载后放到d盘根目录

5.2 、配置环境变量,设置JENKINS_HOME

Jmeter+Ant+Jenkins实现接口自动化(转载)

5.3 、解压并启动jenkins

命令行输入java -jar jenkins.war,浏览器中输入url:jenkins所在主机IP 端口:8080 ,打开jenkins,

配置用户名、密码及插件,这里需要配置invoke ant插件、HTML测试报告展示的插件

5.4、新建并配置一个JOB

Jmeter+Ant+Jenkins实现接口自动化(转载)

设置项目名称:

Jmeter+Ant+Jenkins实现接口自动化(转载)

配置构建:

Jmeter+Ant+Jenkins实现接口自动化(转载)

配置构建:

有两种方式可以调用:
       1.直接在增加构建步骤中选择“Invoke Ant”,在新加的选择框中Build File后面填写html报告的存放目录,

        如:F:\report 点击save后构建即可
      Jmeter+Ant+Jenkins实现接口自动化(转载)

2.直接在增加构建步骤中选择“Execute Windows batch command”填写command命令即可。         Jmeter+Ant+Jenkins实现接口自动化(转载)

以上两种方法中,第一种方法需要jenkins上先安装ant,进入系统管理-Global Tool Configuration,选择安装ant.否则会提示ant.bat找不到

配置测试报告插件,用于打开测试结果报告

Publish HTML reports需要提前安装这个插件:

(在https://wiki.jenkins.io/display/JENKINS/HTML+Publisher+Plugin路径下下载 htmlpublisher.hpi文件,然后在http://localhost:8080/pluginManager/advanced 此路径下上传此插 件点击上传按钮即可)

( HTML directory to archive 中填写html报告的存放目录,Index page[s]填写该报告的名称,比如我的这份报告名字叫做index.html,那我在这里就填写上index.html,否则会提示找不到。最后的Report title,随意填写即可。)

Jmeter+Ant+Jenkins实现接口自动化(转载)

基本配置完成

5.5、JOB主页,点击立即构建,执行测试,构建完成即可通过HTML_Report来查看测试结果

Jmeter+Ant+Jenkins实现接口自动化(转载)

继续构建基本完成,另外还 可以配置邮件插件来发送测试报告,设置构建时间来定时自动执行测试