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

news2024/11/14 13:48:49

目录:导读

    • 前言
    • 一、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.coloradmin.cn/o/815656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue sku商品规格多选

vue sku商品规格多选 1.创建一个数据对象&#xff0c;用于存储SKU的选中状态。例如&#xff0c;可以使用一个数组来表示选中的SKU&#xff0c;每个元素代表一个SKU选项的id。 data() {return {selectedOptions: []} }2.在SKU选项列表中&#xff0c;使用v-bind:class绑定一个计…

医疗陪诊小程序开发:为您打造贴心、专业的陪护服务

近年来&#xff0c;随着人们对健康关注度的提高和医疗服务需求的增加&#xff0c;陪诊小程序逐渐崭露头角。陪诊小程序是一种基于互联网技术的应用程序&#xff0c;旨在提供便捷、高效的陪诊服务。下面将介绍陪诊小程序开发的优势。   便捷性&#xff1a;陪诊小程序可以通过手…

类和对象——初始化列表

目录 初始化列表 注意 单/多参数传入 explicit关键字 匿名函数 先前&#xff0c;我们知道有构造函数——用于给各成员变量一个初始值。 但是仍然不能称为是初始化&#xff0c;因为初始化只能初始化一次&#xff0c;但是构造函数里可以多次赋值 初始化列表 以日期类Date…

【Golang】解决Go test执行单个测试文件提示未定义问题

目录 背景 根本原因 解决方法 解决 多级引用或多个引用包的情况 总结 资料获取方法 背景 很多人记录过怎么执行Go test单个文件或者单个函数&#xff0c;但是要么对执行单文件用例存在函数或变量引用的场景避而不谈&#xff0c;要么提示调用了其它文件中的模块会报错。其…

Coremail中睿天下|2023年第二季度企业邮箱安全态势观察

7月24日&#xff0c;Coremail邮件安全联合中睿天下发布《2023第二季度企业邮箱安全性研究报告》&#xff0c;对2023第二季度和2023上半年的企业邮箱的安全风险进行了分析。 一、垃圾邮件同比下降16.38% 根据Coremail邮件安全人工智能实验室&#xff08;以下简称AI实验室&#…

c++(强生成关键字+可变参数模板+emplace)[26]

强制生成 不生成 在C中&#xff0c;可以通过一些方式来控制编译器是否生成某些特殊成员函数&#xff08;如默认构造函数、拷贝构造函数、拷贝赋值运算符、析构函数等&#xff09;。 默认生成&#xff1a;如果你没有显式地定义这些特殊成员函数&#xff0c;编译器会自动生成它们…

GNSS技术知识你知道多少?这些你或许还未掌握

GNSS信号频段 GNSS频谱图展示了不同的GNSS信号及其星座、载波频率、调制方案&#xff0c;以及所有这些信号在同一L波段频段内如何相互关联&#xff0c;是GNSS专业人员的必备工具&#xff0c;包括设计和开发GNSS系统的工程师&#xff0c;以及测试GNSS系统的工程师。 GNSS术语 …

如何清理电脑缓存垃圾

1、手动清理电脑缓存 C:\Users\yangguang\AppData\Local\Temp 注&#xff1a;yangguang 是自己电脑对应的用户目录 2、清理完后&#xff0c;电脑流畅了许多。

C++继承(2)——赋值转换、隐藏特性以及作用域

目录 一.子类和父类对象的赋值转换 子类对象赋值父类对象的另外两种方式&#xff1a; 总结&#xff1a; 二.父类与子类的作用域 1. 在继承体系中基类和派生类都有独立的作用域。 例&#xff1a; 2.作用域练习 练习1&#xff1a; 解决方法: 一.子类和父类对象的赋值转换 …

Reinforcement Learning with Code 【Code 2. Tabular Sarsa】

Reinforcement Learning with Code 【Code 2. Tabular Sarsa】 This note records how the author begin to learn RL. Both theoretical understanding and code practice are presented. Many material are referenced such as ZhaoShiyu’s Mathematical Foundation of Rei…

【C# 6.0】云LIS平台源码

基于云计算的区域LIS平台为医疗机构改善患者服务质量提供了强有力的支持&#xff0c;“以患者为核心”这一理念得到了充分实现&#xff0c;可以解决各医院LIS建设水平参差不齐的现状&#xff0c;并完善各医院内LIS系统的功能&#xff0c;实现数据标准统一、功能完善、性能可靠&…

VR全景旅游,智慧文旅发展新趋势!

引言&#xff1a; VR全景旅游正在带领我们踏上一场全新的旅行体验。这种沉浸式的旅行方式&#xff0c;让我们可以足不出户&#xff0c;却又身临其境地感受世界各地的美景。 一&#xff0e;VR全景旅游是什么&#xff1f; VR全景旅游是一种借助虚拟现实技术&#xff0c;让用户…

go env 配置(环境变量)说明

前提&#xff1a;已经安装好 golang 可正确的运行下面这段命令&#xff0c;来查看 go 的配置&#xff1a; go env 输出示例&#xff1a; 以上是我本地(windows)环境下输出的配置信息(环境变量) 我们这次就针对每个配置信息进行一个说明&#xff0c;具体到每个字段是什么意思…

浅谈Vue3 computed计算属性

什么是computed 官方给出的解释&#xff1a;接受一个 getter 函数&#xff0c;返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。它也可以接受一个带有 get 和 set 函数的对象来创建一个可写的 ref 对象 // 只读 function computed<T>(ge…

远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制

目录 一、前言 二、远程控制中的安全威胁 三、国内外远控软件安全机制 【ToDesk】 【RayLink】 【Teamviewer】 【Splashtop】 四、安全远控预防 一、前言 近期&#xff0c;远程控制话题再一次引起关注。 据相关新闻报道&#xff0c;不少不法分子利用远程控制软件实施网络诈骗&…

直播预告 | 开源运维工具使用现状以及可持续产品的思考

运维平台自上世纪90年代开始进入中国市场&#xff0c;曾形成以传统四大外企&#xff1a;IBM、BMC、CA、HP为代表的头部厂商&#xff0c;还有一众从网管起家的国内厂商。2010年前后&#xff0c;出现了以Zabbix、Nagios、Cacti为代表的开源工具&#xff0c;后来又陆续出现了Prome…

如何计算文本的困惑度perplexity(ppl)

前言 本文关注在Pytorch中如何计算困惑度&#xff08;ppl&#xff09;为什么能用模型 loss 代表 ppl 如何计算 当给定一个分词后的序列 X ( x 0 , x 1 , … , x t ) X (x_0, x_1, \dots,x_t) X(x0​,x1​,…,xt​), ppl 计算公式为&#xff1a; 其中 p θ ( x i ∣ x &l…

Ansible之playbook剧本编写

一、playbook的相关知识 1.playbook简介 playbook是 一个不同于使用Ansible命令行执行方式的模式&#xff0c;其功能更强大灵活。简单来说&#xff0c;playbook是一个非常简单的配置管理和多主机部署系统&#xff0c;不同于任何已经存在的模式&#xff0c;可作为一个适合部署复…

3.5千伏硅化碳(SiC)深埋式超结二极管

目录 相关知识研究了什么文章创新点研究方法文章的结论 相关知识 在科学和工程技术领域&#xff0c;SEM通常是扫描电子显微镜&#xff08;Scanning Electron Microscope&#xff09;的缩写。因此&#xff0c;在 “外延SEM横截面图” 中&#xff0c;SEM指的是扫描电子显微镜&am…

分享一些精选的开源框架与代码!

今天主要是收集并精选了一些自己所了解和学习过的优秀的嵌入式开源框架代码和项目&#xff0c;不太了解的就不推荐给大家了&#xff0c;因为开源的东西实在是太多了&#xff0c;鱼龙混杂&#xff0c;所以取其精华去其糟粕是迫在眉睫的大事~ 当然也不要总是沉浸在开源的东西之中…