当前位置: 首页 > news >正文

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

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、下载安装配置Jmeter

首先下载jmeter工具,并配置好环境变量;
参考之前写过的文章:https://blog.csdn.net/shuang_waiwai/article/details/121641310

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

222

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文件夹下;如下图:

222

ant工具包的lib文件下

222

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/

222

A4

5、建立如下目录结构

A5

resultlog:
html =>ant转化后的结果。
jtl=>imeter生成的结果

script:
jmeter执行的脚本

配置build.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的目录下;如下图:

A6

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

A7

A8

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

A9

A10

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

A11

A12

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

新建item任务;如下图

A13

构建触发器,设置多久触发一次
定时任务:
分钟:小时:一月的天数:月份:一周的天数
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

A14

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

A15

再点击高级按钮

A16

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

A17

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

A18

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

A19

A20

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

http://www.lryc.cn/news/104862.html

相关文章:

  • 最长连续序列——力扣128
  • uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法
  • Spring入门-技术简介、IOC技术、Bean、DI
  • 深度学习之反向传播
  • 网络安全 Day23-mariadb数据库数据管理和备份
  • Centos7 上安装 redis-dump 和redis-load 命令
  • 【NLP PyTorch】字符级RNN循环网络模型姓氏对应国家分类(项目详解)
  • C++设计模式之责任链设计模式
  • 《Java-SE-第二十三章》之单例模式
  • 如何快速同步第三方平台数据?
  • 反射(一)
  • 29.利用fminbnd 求解 最大容积问题(matlab程序)
  • express学习笔记7 - docker跟mysql篇
  • Leetcode(一):数组、链表部分经典题目详解(JavaScript版)
  • 内网穿透的底层原理是什么
  • Bash配置文件
  • 写Acknowledgement的时候,latex日志出现警告
  • GCC生成map文件
  • IOS看书最终选择|源阅读转换|开源阅读|IOS自签
  • easyui实用点
  • 算法训练营第五十六天||● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇
  • C语言每日一题:10.不使用+-*/实现加法+找到所有数组中消失的数。
  • LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
  • JS数组的详解与使用
  • c++ / python / java / PHP / SQL / Ruby / Objective-C / JavaScript 发展史
  • Linux第一个小程序-进度条(缓冲区概念)
  • CentOS7环境安装tomcat
  • C# 中使用ValueTask优化异步方法
  • KVM创建新的虚拟机(图形化)
  • 正则表达式在格式校验中的应用以及包装类的重要性