接口自动化测试-Jmeter+ant+jenkins实战持续集成(详细)

目录:导读


前言

1、下载安装配置Jmeter

首先下载jmeter工具,并配置好环境变量;

参考之前写过的文章:https://blog.csdn.net/shuang_waiwai/article/details/121641310

jmeter默认保存的是.jtl格式的文件,要设置一下bin/jmeter.properties,文件内容,保存jmeter.save.saveservice.output_format=xml

2、下载安装配置ant

下载ant工具,并配置好环境变量;

直接在官网下载即可:https://ant.apache.org/bindownload.cgi

3、通过ant触发jmeter脚本的配置

将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs. jmeter.JMeterTask"这个类,从而成功触发JMeter脚本。

jmeter中extras文件夹下;如下图:

ant工具包的lib文件下

4、自动发送邮件的jar包配置

如下图:

1、在网站上下载commons-email.jar包,然后放在 ant 的 \lib 目录下;

地址:https://commons.apache.org/proper/commons-email/download_email.cgi

2、在网站上下载activation-1.1.1.jar包,然后放在 ant 的 \lib 目录下;

地址:http://www.java2s.com/Code/Jar/a/Downloadactivation111jar.htm

3、在网站上下载javax.mail.jar包,然后放在 ant 的 \lib 目录下;

地址:https://javaee.github.io/javamail/

5、建立如下目录结构

resultlog:

html =>ant转化后的结果。

jtl=>imeter生成的结果

script:

jmeter执行的脚本

配置build.xml文件:

源码:

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>

    <property environment="env"/>
    <property name="ReportName" value="TestReport" />
    <!-- 需要改成自己本地的 Jmeter 目录--> 
    <property name="jmeter.home" value="D:\B_TOOLS\apache-jmeter-2.13" />
    <!-- jmeter生成jtl、html格式的结果报告的路径--> 
    <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
    <!-- 生成的报告的前缀-->  
    <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />

    <target name="run">
        <echo message="start..."/>
        <antcall target="clean" />
        <antcall target="test" />
        <antcall target="report" />
    </target>

    <target name="clean">
        <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
    </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:\B_TOOLS\apache-jmeter-2.13\demo" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>

    <target name="report">
        <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
        <copy todir="${jmeter.result.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>

build.xml文件要放到pc或者app的目录下;如下图:

配置build.xml文件内容的详细信息

重点:smtp的授权码;如QQ邮箱

配置完成后,打开DOS窗口进行build.xml文件所在的目录,输入ant即可生成报告并发送到指定人的邮箱中;结果如下图

6、通过jenkins进行构建并自动运行jmeter脚本

新建item任务;如下图

构建触发器,设置多久触发一次

定时任务:

分钟:小时:一月的天数:月份:一周的天数

0-59:0-23:1-31:1-12:0-7(0和7表示周天)

举例:

每天晚上20点整自动执行

0 20 * * *

一周1,3,5晚上20点整执行

0 20 * * 1,3,5

每周周1-周5晚上20点整执行

0 20 * * 1-5

一周内每2天,晚上20点整执行

0 20 * * */2

跳转到构建步骤界面,点击增加构建步骤选择Invoke Ant

再点击高级按钮

把build.xml文件的路径拷贝到下图位置

点击保存返回到主页面;点击立即构建开始执行

执行结果,查看接收人邮箱

|-------------------------------------|
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

勇敢地面对挑战,坚定地追求梦想。努力不倦,才华绽放;奋斗不息,辉煌终现。相信自己的无限潜能,抓住机会,创造属于自己的奇迹。

不论前路多荆棘,燃起希望之火;不论身处何困境,绽放勇往直前的力量。踏遍山河,追寻心中的理想;扬起风帆,航向未来的辉煌。相信自己,奋斗不息,成就无限可能的精彩人生!

岁月如梭,奋斗不止;拥抱梦想,燃烧激情。不畏困难,勇攀高峰;用汗水浇灌,绽放辉煌。每一份努力,都值得骄傲;每一次拼搏,都离成功更近。

相关推荐
LinuxSuRen9 分钟前
Jenkins 命令行多线程并发下载制品包
运维·jenkins
测试者家园6 小时前
ChatGPT助力数据可视化与数据分析效率的提升(二)
软件测试·人工智能·信息可视化·chatgpt·数据分析·用chatgpt做软件测试·测试图书
神的孩子都在歌唱8 小时前
es创建的索引状态一直是red
大数据·elasticsearch·jenkins
MJH82710 小时前
Selenium + Pytest自动化测试框架实战!
selenium·测试工具·jmeter·职场和发展·pytest·postman
测试者家园17 小时前
ChatGPT助力数据可视化与数据分析效率的提升(一)
软件测试·人工智能·信息可视化·chatgpt·数据挖掘·数据分析·用chatgpt做软件测试
测试界萧萧21 小时前
15:00面试,15:08就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
万万君1 天前
Linux 更改Jenkins使用其他账户启动
linux·jenkins
赤叶丶秋枫1 天前
Jenkins入门使用
运维·jenkins
紫菜(Nori)1 天前
Jenkins Api Token 访问问题
运维·jenkins
云边的快乐猫1 天前
Jmeter下载安装配置教程(多版本)
jmeter