news 2026/8/16 11:18:31

接口自动化测试之设置断言思路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
接口自动化测试之设置断言思路

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

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)对数据库进行操作

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

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

4)定时自动测试

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

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/4 12:44:41

从恐惧到精通:技术小白的AI分类器成长日记

从恐惧到精通:技术小白的AI分类器成长日记 引言:一个零基础的AI探索之旅 记得第一次听说"AI分类器"这个词时,我的大脑一片空白。作为一个连GPU是什么都不知道的纯小白,那些专业术语就像天书一样令人望而生畏。但经过3…

作者头像 李华
网站建设 2026/8/9 4:40:18

单目图像测距实战:MiDaS模型部署与效果评测

单目图像测距实战:MiDaS模型部署与效果评测 1. 引言:单目深度估计的技术价值与应用场景 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂…

作者头像 李华
网站建设 2026/8/11 5:06:12

androidstudio配置本地gradle

修改gradle-wrapper.properties 打开项目根目录/gradle/wrapper/gradle-wrapper.properties修改distributionUrl为本地路径: distributionUrlfile:///D:/android-studio/gradle/gradle-7.5-all.zip 1. 下载Gradle压缩包- 从Gradle官网下载对应版本(如7.5…

作者头像 李华
网站建设 2026/8/14 17:50:45

基于RaNER模型的实体抽取实战|集成WebUI高效可视化

基于RaNER模型的实体抽取实战|集成WebUI高效可视化 1. 引言:从非结构化文本中释放信息价值 在当今信息爆炸的时代,大量有价值的数据以非结构化文本的形式存在——新闻报道、社交媒体内容、企业文档、客服对话等。如何从中自动提取关键信息&…

作者头像 李华
网站建设 2026/8/14 19:07:04

支持33种语言互译|HY-MT1.5系列模型技术全解析

支持33种语言互译|HY-MT1.5系列模型技术全解析 随着全球化进程的加速,跨语言交流已成为企业出海、内容本地化和国际协作的核心需求。传统翻译服务在面对复杂语境、混合语言或格式敏感场景时往往力不从心。腾讯混元团队推出的 HY-MT1.5 系列翻译大模型&a…

作者头像 李华
网站建设 2026/8/2 21:49:35

基于RaNER模型的中文NER实践|集成WebUI高效易用

基于RaNER模型的中文NER实践|集成WebUI高效易用 1. 背景与需求:中文命名实体识别的现实挑战 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、客服对话)占据了企业数据总量的80%以上。如何从这些杂乱文本中快速…

作者头像 李华