使用Jmeter进行接口自动化测试

Jmeter接口自动化

    • 1.接口文档分析接口四要素
    • 2.自动化
      • 2.1使用用户常量来维护自动化用例
      • 2.2使用CSV文件存储常量
      • 2.3结果断言法
      • 2.4 Json提取器

接口自动化测试的意义也相当于是自动化 测试的意义

减少人为错误:自动化测试可以减少人为因素带来的错误,确保测试过程的准确性和一致性。

提高测试效率:相比手动测试,自动化测试可以显著提高测试效率,缩短测试周期,节省时间和人力成本。

快速发现问题:自动化测试可以快速执行大量的测试用例,帮助开发人员更快地发现和定位问题,提高问题解决的速度和准确性。

持续集成:与持续集成工具集成后,可以实现持续测试和快速反馈,确保软件质量在开发过程中得到持续监控和提升。

提升软件质量:通过频繁执行自动化测试,可以持续监控软件接口的质量和性能,确保其稳定性和可靠性,从而提升整体软件质量。

1.接口文档分析接口四要素

  • URL地址

    统一地址:https://xxx.com

    其他表示:普通格式、特殊开放接口、restful

  • 请求方法【HTTP】

    POST\GET\DELETE\PUT

  • 请求参数

    设置的url、请求的body参数,请求header,contact-Type、……

  • 响应结果

    用于判定接口测试是否通过一个标准

2.自动化

自动化的目的:为了提高测试效率,所有可以用于提高测试效率都可以称为自动化。

自动化是一个不断发展的技术、需要测试人员不断去发现测试场景中的低效率场景、再用技术去解决,改变效率。

2.1使用用户常量来维护自动化用例

我们都知道,在编写自动化代码时会存在用例时效性的问题,使用用户自定义常量可以有效的提高测试效率

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样设置用户自定义变量就可以对测试用例进行维护注意语法格式${自定义变量名}

2.2使用CSV文件存储常量

添加一个CSV文件存储需要的数据
在这里插入图片描述

添加数据导入文件

在这里插入图片描述

在这里插入图片描述

接下来程序就会从文件中读取数据,且以为分隔符

在使用文件读取时,文件默认只调用一次,而如果需要多次调用数据,这里我们添加一个循环控制器

在这里插入图片描述

在这里插入图片描述

设置好目录进行执行就可以得到执行的每一条数据的结果

2.3结果断言法

在测试途中,对于测试的返回的结果数据,只能看到接口执行的通过率,针对于更加实际的结果,我们可以使用断言来判定这条用例是否通过。

断言用于验证接口调用的响应结果是否符合预期。通过配置断言,可以检查响应状态码、响应内容等是否满足特定条件。如果断言失败,JMeter会将其视为测试失败。

在这里插入图片描述

2.4 Json提取器

作为一个后置处理器和前置处理器其实区别不大:

前置处理器用于在发送请求之前执行一些操作,如修改请求参数或设置请求头等。后置处理器则用于在接收响应之后执行一些操作,如提取响应数据、断言响应结果等。这些处理器可以增强测试脚本的灵活性和功能性。

针对返回请求的数据来提取出使用者想要提取的Json字段。

在这里插入图片描述

在这里插入图片描述
注意:在寻找具体数据时需要明确数据的位置使用正确的路径来得到数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/801300.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RK3399基础部分

1.RK3399介绍 基础特性: 高达1.8GHz的双核Cortex-A72 四核Cortex-A53高达1.4GHz NPU高达3.0TOPS Mali-T860MP4 GPU 双通道DDR3/DDR3L/LPDDR3/LPDDR4 4K超高清H265/H264/VP9 HDR10/HLG H264编码器 双MIPI CSI和ISP USB Type-CGPU: 图形处理器(英语&…

智汇云舟智慧粮仓解决方案有哪些应用场景和价值?

“粮食”作为人类生活的生命之源,在人们的日常生活中起着决定性的作用。智慧粮仓是运用数字孪生、物联网、商业智能、云计算等技术,精确采集粮食存储过程中的所有信息,并整合到一个统一的信息管理平台上,同时粮库信息管理平台对所…

jmeter持续学习之---控制器

IF控制器 下面这种写法jmeter不推荐有性能的问题 jmeter推荐勾选上的这种写法 使用"Interpret Condition as Variable Expression"工具的性能要好一些 循环控制器 ForEach控制器 与用户定义的变量或者正则表达式提取器配合使用,循环读取。用户定义的变量或者正则…

状态管理的艺术:探索Flutter的Provider库

状态管理的艺术:探索Flutter的Provider库 前言 上一篇文章中,我们详细介绍了 Flutter 应用中的状态管理,以及 StatefulWidget 和 setState 的使用。 本篇我们继续介绍另一个实现状态管理的方式:Provider。 Provider优缺点 基…

VGMShield:揭秘视频生成模型滥用的检测与追踪技术

人工智能咨询培训老师叶梓 转载标明出处 视频生成模型,如 Stable Video Diffusion 和 Videocrafter,已经能够生成合理且高分辨率的视频。但这些技术进步也带来了被恶意利用的风险,比如用于制造假新闻或进行政治宣传。因此,来自弗…

【顺序表】算法题 --- 力扣

一、移除元素 移除元素 这个题让我们移除数组nums中值为val的元素,最后返回k(不是val的元素个数) 这样显然我们就不能再创建一个数组来解决这个问题了,只能另辟蹊径 思路:双指针 这里定义两个指针(l1&…

solidity基础语法(以太坊solidity合约)

solidity基础语法(以太坊solidity合约) 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…

长按加速- 解决react - setInterval下无法更新问题

最开始直接setInterval里,useState硬写,发现更新不,固定值 换let,发现dom更新不了 正确做法是用ref 并且pc端可以长按的,只是要用onTouchStart,不要用onMouseDown onTouchStart{handleMouseDown} onTou…

MFC程序创建word,创建表格,写入数据

文章目录 1、MFC程序功能:2、MFC程序实现2.1 创建项目2.2 添加word操作类2.3 添加word资源2.4 编写代码,实现将数据写入到word2.5 运行程序、验证功能3、工程代码下载 1、MFC程序功能: 创建word文档;向文档中写入字符串&#xff…

探索Docker网络配置和管理

目录 1.docker网络类型有几种? 2.自定义网络管理 1.查看网络信息 2.查看网络的详细信息 3.创建四种网络容器 3.none类型 1.验证 4.host类型 1.验证 5. bridge类型 1.验证 2.设备对 6. container类型 1.验证 2.详解 7.科普下docker的网络名称空间 “…

Pixi.js技术探索:开发者必备的视觉开发工具

pixi.js是一个开源的轻量级2D渲染引擎,专注于利用WebGL和HTML5中的Canvas技术来实现高性能的交互式图形和动画。它旨在提供一个简单而强大的工具集,使开发者能够轻松地创建各种类型的视觉效果,包括游戏、数据可视化、广告和其他富媒体应用程序…

JAVA零基础学习1(CMD、JDK、环境变量、变量和键盘键入、IDEA)

JAVA零基础学习1(CMD、JDK、环境变量、变量和键盘键入、IDEA) CMD常见命令配置环境变量JDK的下载和安装变量变量的声明和初始化声明变量初始化变量 变量的类型变量的作用域变量命名规则示例代码 键盘键入使用 Scanner 类读取输入步骤示例代码 常用方法处…

【服务器】端口映射

文章目录 1.端口映射的概念1.1 端口映射的类型1.2 端口映射的应用场景1.3 示例 2.为什么要进行端口映射呢?3.原理3.1【大白话】原理解释3.2 原理图 4.代码 1.端口映射的概念 端口映射(Port Mapping),也称为端口转发(P…

第二届大数据、计算智能与应用国际会议(BDCIA2024)

会议日期:2024年11月15-17日 会议地点:中国-湖北省-黄冈市 主办单位:黄冈师范学院 【大会主席】 【主讲嘉宾】 大会邀请到来自美国、英国、加拿大、新加坡、意大利、越南等10余位领域内学术大咖作主题报告,并与参会人员互动交…

【操作系统】文件管理——文件的物理结构(个人笔记)

学习日期:2024.7.15 内容摘要:文件的物理结构,逻辑结构与物理结构 目录 引言 文件分配方式 连续分配 链接分配 隐式链接 显式链接 索引分配 索引块大小不够装入整个索引表怎么办? ①链接方案 ②多层索引 ③混合索引 …

国产精品ORM框架-SqlSugar详解 进阶功能 集成整合 脚手架应用 专题二

国产精品ORM框架-SqlSugar详解 SqlSugar初识 专题一-CSDN博客 sqlsugar 官网-CSDN博客 4、进阶功能 5、集成整合 6、脚手架应用 4、进阶功能 4.1、生命周期 Queryable 什么时候操作库 Queryable是一个引用类型 Queryable拷贝机制 {ISugarQueryable<Student> quer…

切换网页visibilitychange,的升级版实现

目录 1 需求场景 2 用到的技术 3 日常检测方法 4 一个有意思的场景 5 升级版实现一 5.1 新建 /utils/browser.js 5.2 项目业务组件中使用 6 升级版实现二 6.1 安装js-tool-big-box工具库 6.2 引入 browserBox 对象 6.3 以控制累加定时器为例 6.4 查看定时器效果 1…

go 切片进行链式操作并支持泛型

背景&#xff1a; 由于团队不是专业级别的go开发人员&#xff0c;主开发还是java&#xff0c;用惯了java的lambda表达式特别是流式操作&#xff0c; 所以在用go语言时&#xff0c;发现切片处理起来比较麻烦&#xff0c;看看能不能支持类似流式操作&#xff0c;我这边就研究了下…

什么是STM32?嵌入式和STM32简单介绍

1、嵌入式和STM32 1.1.什么是嵌入式 除了桌面PC之外&#xff0c;所有的控制类设备都是嵌入式 嵌入式系统的定义&#xff1a;“用于控制、监视或者辅助操作机器和设备的装置”。 嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板&#xff0c;是一种专用的计算机系统。…

启动react 18.2.x项目报node错误

1、项目启动报错&#xff0c;node版本问题 可以考虑把node版本降低一点&#xff0c;我当时node版本是20.xx 后面我把本本降到16.13.1 2、tsconfig.json的飘红问题 这里提示的是这个字段已经不用了&#xff0c;建议删除该字段&#xff0c;所以删除该字段就好&#xff0c;其实…