• jmeter:开源,能做接口测试,也能做性能测试;
  • ant:基于Java的构建工具,完成脚本执行并收集结果生成报告;
  • jenkins:用来持续集成,也就是自动化的关键。

ant和maven类似,maven是执行pom文件,ant是执行build文件(配置主要是在build.xml文件)
(jmeter在我电脑上的安装目录:D:\Apache-Jmeter-5.1.1)

一、jmeter调通接口

使用jmeter创建一个测试脚本test01.jmx

1、启动jmeter

在jmeter安装目录的bin目录下,然后找到jmeter.bat启动jmeter

在jenkins中如何进行自动化测试_软件测试

2、添加线程用户-线程组

在计划上右键,添加线程-线程组

在jenkins中如何进行自动化测试_jenkins_02

3、添加取样器-http请求

在线程组上右键,添加取样器-http请求

在jenkins中如何进行自动化测试_jmeter_03

4、http请求

http请求填写项目的服务名称或者IP,这边举例请求百度

(如果有多个接口,就添加多个http请求)

在jenkins中如何进行自动化测试_在jenkins中如何进行自动化测试_04

5、添加察看结果树

在线程组上右键,添加监听器-察看结果树

在jenkins中如何进行自动化测试_软件测试_05

6、保存脚本

点击运行,保存脚本在E:\jmetertest\tempTest(无固定位置,自己决定保存在哪,后面需要用到)目录下

在jenkins中如何进行自动化测试_软件测试_06

二、jmeter和Ant结合的基础配置

1、复制ant-jmeter-1.1.1.jar

进入jmeter安装目录的extras目录下,把ant-jmeter-1.1.1.jar复制到Ant安装目录(D:\Apache-Ant-1.9.15)的lib目录下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发jmeter脚本

在jenkins中如何进行自动化测试_jmeter_07


在jenkins中如何进行自动化测试_在jenkins中如何进行自动化测试_08

2、复制修改build.xml

进入jmeter安装目录的extras目录下,把build.xml复制一份放在jmeter脚本所在的目录E:\jmetertest\temp_test下进行修改或者直接复制下面模板进行修改

在jenkins中如何进行自动化测试_jmeter_09


在jenkins中如何进行自动化测试_接口_10


在jenkins中如何进行自动化测试_jenkins_11


修改build.xml

模板如下,将里面需要改的地方,改成自己本地真实的路径

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

<project name="jenkins_ant_jmeter20200730" basedir=".">
    <tstamp>
        <!--  kk是24小时制,KK是12小时制  -->
        <format property="date" pattern="yyyy/MM/dd kk:mm:ss"/>

    </tstamp>
    <!--  需要改成自己本地的 Jmeter 目录  -->
    <property name="jmeter.home" value="D:\Apache-Jmeter-5.1.1"/>
    <!--  报告的标题,按需命名  -->
    <property name="report.title" value="xtl_interface_autoTest"/>
    <!--  需要改成自己的jmeter生成jtl格式的结果报告的路径  -->
    <property name="jmeter.result.jtl.dir" value="E:\jmetertest\tempTest\reports\jtl"/>
    <!--   需要改成自己的jmeter生成html格式的结果报告的路径  -->
    <property name="jmeter.result.html.dir" value="E:\jmetertest\tempTest\reports\html"/>
    <!--  生成的报告名称  -->
    <property name="Summary.report.name" value="SummaryReport"/>
    <!--  生成的报告名称+路径  -->
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${Summary.report.name}.jtl"/>
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${Summary.report.name}.html"/>


    <!--  从这运行,name是关键,运行时需要输入命令ant +name,例如:ant run -->
    <target name="run">
        <antcall target="test"/>
        <antcall target="report"/>
    </target>

    <!-- 运行jemeter文件-->
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

            <testplans dir="E:\jmetertest\tempTest" 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" depends="test">
        <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="titleReport" expression="${report.title}"/>
            <param name="dateReport" expression="${date}"/>
        </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

1、运行ant run

在E:\jmetertest\temp_test目录下,即build.xml所在的目录打开命令窗口,输入命令:ant run,回车运行(run是build.xml文件中target的name)

在jenkins中如何进行自动化测试_jmeter_12

在jenkins中如何进行自动化测试_jmeter_13

2、查看测试报告

运行成功后,查看测试报告

在jenkins中如何进行自动化测试_jmeter_14

在jenkins中如何进行自动化测试_jenkins_15


在jenkins中如何进行自动化测试_软件测试_16

四、和Jenkins结合配置

这是实现自动化的一步

1、新建项目

新建一个自由态的项目,任务名称自取

在jenkins中如何进行自动化测试_jmeter_17

2、配置Ant安装

全局工具配置,配置Ant的地址

已经安装在本地的话,不勾选自动安装,直接进行新增,

Name:文件夹名称,

ANT_HOME:安装目录

在jenkins中如何进行自动化测试_接口_18


在jenkins中如何进行自动化测试_jenkins_19

3、配置构建Invoke Ant

配置项目,增加构建步骤Invoke Ant,

Ant Version:选择第3步配置的Ant,

Targets:build.xml文件中target的name,

Build File:build.xml文件所在的路径

在jenkins中如何进行自动化测试_在jenkins中如何进行自动化测试_20


在jenkins中如何进行自动化测试_jmeter_12


效果如下:

直接点击构建就可以运行脚本,可以测试下能不能运行成功

还可以配置定时构建,即自动运行(见下文)

在jenkins中如何进行自动化测试_jenkins_22

4、定时构建(自动)

配置项目,构建触发器选择Build periodically

配置日程表,如H/10 * * * *,表示的是10分钟执行一次

在jenkins中如何进行自动化测试_接口_23


补充:总共有五个,代表不同的时间,分钟、小时、日、月、星期

范围用-隔开,如2-8

时间间隔用/,如H/11

多值用,隔开,如1,3,5

日程

说明

H/22 * * * *

每22分钟执行一次

H H/10 * * *

每10小时执行一次

H 10 * * *

每天的10点执行一次

H 3,6,9 * * *

每天的369点执行一次

H H H/5 * *

每5天执行一次

H H 2-12/3 * *

每个月的2到12号,每3天执行一次

H H 5 * *

每个月的5号执行一次

H H * H/6 *

每6月执行一次

H H H 6 *

每年的6月执行一次

H H * * 5

每星期5执行一次

H H * * 2,4,6

每星期246执行一次