接口测试【断言设置思路】实操

1 断言设置思路
这里总结了我在项目中常用的5种断言方式,基本可能满足90%以上的断言场景,具体参见如下脑图:

在这里插入图片描述

下面分别解释一下图中的五种思路:

1) 响应码

对于http类接口,有时开发人员只是通过设置接口响应码来反应接口是否成功,这时我们的断言就需要检查接口响应码是否符合预期来判断用例是否执行成功。

2) 验证关键字段值

一般接口中会设有专门的字段来反馈接口成功与否的信息,比如:msg字段,经常好多接口通过该字段反应后台的处理情况,如果成功会返回成功信息,失败会返回失败原因。这样我们测试时可以直接校验该字段值来判断用例是否执行成功。

3) 正则匹配

当一个接口返回内容比较多时,但有一定规则可寻,我们可以借助正则表达式来校验检查。

4) 数据库匹配核对

要对一个查询类接口的返回数据进行验证,我们可以采用编写SQL,到数据查询结果,然后将数据库结果与接口返回结果进行核对检查,这样就能比较准确的验证接口返回数据的正确性。

5) 相关接口辅助验证

举个例子,比如测试一个删除接口,删除了一条记录后,如何验证接口真的把记录删除成功了,可以再调用查询接口,检查被删除的记录是否真的查询不到了,那就说明删除真的成功了。

2 断言设置实战演示
基于上面的断言思路,接下来,我通过实际例子给大家做一下展示,这里通过两种平台工具来展示,一种是开源好用的Jmeter;另一种是之前给大家推荐的eolink平台,eolink平台因为支持自定义脚本,且平台提供了很多内置函数,也可以像Jmeter一样灵活实现上述5种断言思路。

下图展示一下eolink平台的自定义脚本功能:

在这里插入图片描述

在这里插入图片描述

2.1 响应码断言展示
如果一个接口需要通过接口请求的响应码来断言,判断是否达到预期结果,Jmeter工具的实现如下:

在这里插入图片描述

在这里插入图片描述

说明:

该用例会返回400的错误码,断言设置校验响应码是否为400,如果等于400表示用例执行成功,否则失败。

再展示一下用eolink的实现效果

在这里插入图片描述

2.2 验证关键字段值
如果一个接口需要通过响应结果中出现某个关键词来判断是否达到预期结果,可以采用验证关键字段值的断言方式,用Jmeter工具实现如下:

在这里插入图片描述

说明:

该用例通过检查接口返回字段msg的值是否为“您没有登录,请重新登录”来判断用例是否执行成功。

再展示一下用eolink的实现效果:

在这里插入图片描述

2.3 正则匹配
如果一个接口返回的响应结果是不断变化的,但结果符合某个预期的规则,这时可以采用正则匹配的方式来断言,用Jmeter工具实现如下:

在这里插入图片描述

说明:

通过正则匹配,除了验证某个符合预期规则的字段值,可以用于匹配检查接口返回样式,匹配成功了,说明用例执行通过。

再展示一下用eolink的实现效果:

在这里插入图片描述

2.4 数据库匹配核对
针对一个查询类接口,如果想详细验证返回结果的各个字段,可以采用数据库匹配核对方式来断言,用Jmeter工具实现如下:

在这里插入图片描述

在这里插入图片描述

说明:

对于一个查询类用例,通过查询数据库,然后将接口返回结果与数据库返回结果进行对比,对比成功说明用例执行通过。

再展示一下用eolink的实现效果:

在这里插入图片描述

执行结果:

在这里插入图片描述

2.5 相关接口辅助验证
很多接口的验证需要依赖其他相关接口来判断,实现起来会稍微复杂些,但断言效果非常好,先用Jmeter工具给大家展示一下:

在这里插入图片描述

说明:

对于部署接口是否成功的验证,我这边通过“查看部署日志”接口来辅助验证,当部署日志接口中获取到部署成功日志打印后,就说明用例执行通过。

再展示一下用eolink的实现效果:

1)有两种方式,一种步骤中添加相关接口,提取相应内容,后续做判断。

在这里插入图片描述

在这里插入图片描述

2)再一种就通过JS脚本来维护多个接口,并处理接口的响应结果,添加断言来实现。

在这里插入图片描述

eolink平台有着非常丰富易用的功能,帮助项目团队更好的对API接口进行管理和测试,最后,再补充介绍一下该平台对于API接口测试方面的某系高级功能:

1)与API文档关联与自动同步

在测试用例中,绑定API文档之后,当API发生变化时,您可以一键将文档内容同步到测试步骤中,减轻维护用例的成本。


在这里插入图片描述

2)0代码,拖拉拽完成测试流程编排

平台支持拖拉方式进行复杂多接口链路的场景编排,减轻脚本维护工作量。

在这里插入图片描述

3)对数据库进行操作

平台也支持在自动化用例中添加对数据库的操作,常用于以下场景:

  1. 测试前对数据库插入测试数据。
  2. 清除脏数据。
  3. 查询 API 操作是否对数据库生效。


在这里插入图片描述

在这里插入图片描述

4)定时自动测试

该平台也支持自动化用例定时执行,减少人为的干预,进一步降低执行成本。

在这里插入图片描述

在这里插入图片描述

综合来看,eolink平台功能十分强大,除了能像Jmeter一样灵活实现各类接口场景的自动化测试,还有丰富的API管理、API监控、API市场功能,帮助整个研发团队高效实现API全流程的管控,可以说是非常强大易用的一款API管理测试平台。

总结:
感谢每一个认真阅读我文章的人!!!

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

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

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

相关文章

无损编码——Slepian-Wolf理论

在信息论中,无损编码是一种重要的编码技术,其目的是通过尽量少的比特数来表示一段信息,同时保证信息的完整性和准确性。传统的无损编码方法往往只考虑单个源的编码问题,比如哈夫曼编码和算术编码等。然而,在实际应用中…

RTK、PPP与RTK-PPP?一文带您认识高精定位及如何进行高精定位GNSS测试!(一)

来源:德思特测试测量 德思特干货丨RTK、PPP与RTK-PPP?一文带您认识高精定位及如何进行高精定位GNSS测试!(一) 原文链接:https://mp.weixin.qq.com/s/6Jb3DuJEhRGqFPrH3CX8xQ 欢迎关注虹科,为您…

#HarmonyOS:项目结构图

.hvigor:存储构建配置文件信息 .idea:存储项目的配置信息 AppScope:全局的共有资源存放目录

大模型评估中Pass@k值是如何计算的

在前面的博客中分别介绍了大模型评估过程不同指标的含义,以及如何通过代码,实现指标的收集。如果对如何运行代码生成结果和收集passk指标不清楚,可以参考这两篇博客。 如何对大模型进行评估上 如何对大模型进行评估下 Passk的来源 代码的生…

day34算法训练|贪心算法

1005.K次取反后最大化的数组和 两次贪心算法思路 1. 数组中有负数时,把绝对值最大的负数取反 2. 数组全为非负数时,一直取反最小的那个数 步骤: 第一步:将数组按照绝对值大小从大到小排序,注意要按照绝对值的大小…

基于YOLOv8深度学习的智能小麦害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

JavaSE 排序

目录 1 概念1.1 排序1.2 稳定性 2 常见基于比较排序算法总览3 插入排序3.1 直接插入排序3.1.1 思想3.1.2 实现3.1.3 性能分析 3.2 折半插入排序3.2.1 思想3.2.2 实现3.2.3 性能分析 3.3 希尔排序3.3.1 思想3.3.2 实现3.3.3 性能分析 4 选择排序4.1 选择排序4.1.1 思想4.1.2 实现…

神奇的数据恢复算法

今天码哥给大家带来一种数据备份与修复的技术——里德所罗门编码。 里德所罗门编码可是应用场景很多,例如我们耳熟能详的RAID(磁盘阵列),又例如在UDP传输中降低丢包导致的数据缺失的情况等等。 什么是里德所罗门编码 这里&…

随时随地刷题题库小程序源码系统+完整代码包+安装部署教程

互联网的普及和在线教育的发展,越来越多的人开始利用碎片时间进行学习。为了满足这一需求,随时随地刷题题库小程序应运而生。该小程序提供了一个便捷的刷题平台,用户可以在任何时间、任何地点进行刷题练习,提高自己的学习效率。 …

C盘满了?这里有释放空间有效方案!

一、需要释放小空间 方法一,下载火绒安全软件,点击垃圾清理 方法二,手动清理: 1.左下角搜索"添加或删除" 2.左下角搜索"存储设置" 3.【我的电脑】-【C盘】-右键【属性】-【磁盘清理】 4.以下位置的不需要…

局域网其他pc如何访问宿主机虚拟机IP?

文章目录 背景贝瑞蒲公英设置虚拟机网络连接测试 背景 使用贝瑞蒲公英异地组网,将家里的pc作为pgsql服务器在公司使用,但是虚拟机的ip和端口访问不了 贝瑞蒲公英 设置虚拟机网络 就是添加端口转发规则 连接测试 公网内其他pc连接测试 可以看到已经连接成…

学习Java第74天,Ajax简介

什么是ajax AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页…

ERP真的“烂”吗?为什么有些公司上了ERP效率反而更低?

ERP是由美国Gartner Group咨询公司首先提出的国际上最先进的企业管理模式之一,也是企业信息化集成的最佳解决方案。 ERP到底是什么? ERP的概念 先打个比方。 把ERP理解成手机。 使用通讯类APP和同事、朋友、亲人交流。 使用购物类APP购买生活工作中需…

一文详细介绍Ehcache

title: Ehcache 快速入门 categories: 编程 Java 中间件 缓存 tags: Java 中间件 缓存 Ehcache abbrlink: 2720adf1 date: 2022-02-17 22:34:30 permalink: /pages/c4647d/ Ehcache 快速入门 EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点&#xff…

中国九大农业区划

数据名称:中国九大农业区划 数据时间:2012年 数据空间位置:全国 数据空间分辨率:1:100万 数据格式:shp 数据坐标系:WGS1984 数据简介:农业区划是管理和指导农业生产的重要手段。我国农业区划种类较多…

如何在公网环境使用固定域名远程访问内网BUG管理系统协同办公

文章目录 前言1. 本地安装配置BUG管理系统2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射本地服务3. 测试公网远程访问4. 配置固定二级子域名4.1 保留一个二级子域名5.1 配置二级子域名6. 使用固定二级子域名远程 前言 BUG管理软件,作为软件测试工程师的必备工具之一。在…

评分卡在数字化时代的应用与比较,谁是最强规则引擎?

在数字化时代,规则引擎在各种业务场景中发挥着越来越重要的作用。评分卡作为规则引擎的一个重要应用,被广泛应用于员工KPI考核、业务评估、授信额度计算等等场景。本文引用了奔跑的小武哥的内容,对市面上的几个规则引擎进行对比展示&#xff…

Leetcode的AC指南 —— 链表:142.环形链表II

摘要: Leetcode的AC指南 —— 链表:142.环形链表II。题目介绍:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 文章目录 一、题目二、解析1、快慢指针法2、一个破坏链表的解…

原生html + vue3 获取引用元素refs - elementUI如何在setup中进行表单校验设置

背景: 原生Html 引入elementPlust vue3 ,需要在vue3 setup里做表单校验,通过el-form refform 的refs元素执行校验。 解决方案1: 保存vue挂载之后实例vm为一个常量,由实例来获取:vm.$refs.form.validate(…

GBASE南大通用ADO.NET 结构

GBASE南大通用ADO.NET(全称是 .NET Framework Data Provider For GBase)提 供给.NET 应用程序访问 GBase 数据库、获取数据、管理数据的一套完整的解决 方案。 GBASE南大通用 ADO.NET 的四个核心类及若干功能类具有以下功能:  建立和管…