接口自动化测试实践指导(下):接口自动化测试断言设置思路

这篇具有很好参考价值的文章主要介绍了接口自动化测试实践指导(下):接口自动化测试断言设置思路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者石臻臻, CSDN博客之星Top5Kafka Contributornacos Contributor华为云 MVP ,腾讯云TVP, 滴滴Kafka技术专家 KnowStreaming


KnowStreaming 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,当你导师带你参与开源!

在前两篇文章中详细给小伙伴们讲解了一下接口自动化需要做哪些准备工作及接口测试场景有哪些,本篇文章是最后一篇,主要分享一下接口自动化测试断言设置思路。如果没有好的断言,自动化用例效果将大大打折扣,甚至是无用的,前期的很多工作都因此浪费。这里我继续结合自身经验,帮助大家梳理一下,希望有所帮助和提升。

可以看看这个 : https://www.eolink.com/文章来源地址https://www.toymoban.com/news/detail-800604.html

PS:
接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
接口自动化测试实践指导(中):接口测试场景有哪些

1 断言设置思路

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
下面分别解释一下图中的五种思路:

1) 响应码
对于http类接口,有时开发人员只是通过设置接口响应码来反应接口是否成功,这时我们的断言就需要检查接口响应码是否符合预期来判断用例是否执行成功。
2) 验证关键字段值
一般接口中会设有专门的字段来反馈接口成功与否的信息,比如:msg字段,经常好多接口通过该字段反应后台的处理情况,如果成功会返回成功信息,失败会返回失败原因。这样我们测试时可以直接校验该字段值来判断用例是否执行成功。
3) 正则匹配
当一个接口返回内容比较多时,但有一定规则可寻,我们可以借助正则表达式来校验检查。
4) 数据库匹配核对
要对一个查询类接口的返回数据进行验证,我们可以采用编写SQL,到数据查询结果,然后将数据库结果与接口返回结果进行核对检查,这样就能比较准确的验证接口返回数据的正确性。
5) 相关接口辅助验证
举个例子,比如测试一个删除接口,删除了一条记录后,如何验证接口真的把记录删除成功了,可以再调用查询接口,检查被删除的记录是否真的查询不到了,那就说明删除真的成功了。

2 断言设置实战演示

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
更多内置函数可以参考:https://help.eolink.com/#/tutorial/?groupID=c-806&productID=23

2.1 响应码断言展示

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
说明:

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

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

2.2 验证关键字段值

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

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

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

2.3 正则匹配

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
说明:
通过正则匹配,除了验证某个符合预期规则的字段值,可以用于匹配检查接口返回样式,匹配成功了,说明用例执行通过。

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

2.4 数据库匹配核对

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生
在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

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

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

执行结果:
在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

2.5 相关接口辅助验证

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

说明:

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

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

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

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

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

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

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

在测试用例中,绑定API文档之后,当API发生变化时,您可以一键将文档内容同步到测试步骤中,减轻维护用例的成本。想了解更多,可以参见:https://help.eolink.com/#/tutorial/?groupID=c-752&productID=23

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

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

平台支持拖拉方式进行复杂多接口链路的场景编排,减轻脚本维护工作量。更多可参见:https://help.eolink.com/#/tutorial/?groupID=c-751&productID=23

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

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

  1. 测试前对数据库插入测试数据。
  2. 清除脏数据。
  3. 查询 API 操作是否对数据库生效。
    …更多可参见:https://help.eolink.com/#/tutorial/?groupID=c-748&productID=23

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

4)定时自动测试
该平台也支持自动化用例定时执行,减少人为的干预,进一步降低执行成本。想了解更多,可以参见:https://help.eolink.com/#/tutorial/?groupID=c-787&productID=23

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

在接口自动化测试过程中,如何完成断言,工具,Eolink Api工具,java,开发语言,api,云原生

综合来看,eolink平台功能十分强大,除了能像Jmeter一样灵活实现各类接口场景的自动化测试,还有丰富的API管理、API监控、API市场功能,帮助整个研发团队高效实现API全流程的管控,可以说是非常强大易用的一款API管理测试平台。
至此,接口自动化测试实践指导三篇文章全部完结,希望测试小伙伴们看后能有所收获,后续要多多实践,才能很好提升自动化测试能力。

可以看看这个 : https://www.eolink.com/

到了这里,关于接口自动化测试实践指导(下):接口自动化测试断言设置思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 接口自动化测试项目2.0,让你像Postman一样编写测试用例,支持多环境切换、多业务依赖、数据库断言等

    接口自动化测试项目2.0 本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企业微信通知 + Jenkins 实现的接口自动化框架。 项目参与者: 陈勇志 技术支持邮箱: 262667641@qq.com 个人微信: Testing_player 个人博客地址: https://home.cnblogs.com/u/Nephalem-262667641 微信公众号:测

    2024年02月16日
    浏览(68)
  • 接口自动化测试工程实践分享

    本文作者:欧海锋,碧桂园服务高级测试工程师,致力于研究测试技术。 一、前言 接口自动化测试是一种软件测试技术,它通过模拟用户系统操作来对系统的接口进行自动化测试。接口自动化测试的目的是为了提高测试效率和准确性,同时降低测试成本和周期。以下是为什

    2024年04月17日
    浏览(48)
  • 持续集成下接口自动化测试实践

    目录 :导读 引言 接口自动化测试工具介绍 接口自动化测试在持续集成中的运用 小结 目前很多持续集成项目都需要执行接口层的测试,当你了解其基本概念,理解了接口协议、如何传参、测试原理后,无需 掌握程序语言,使用 行业 内成熟的接口测试 工具,就 可 以快速地

    2023年04月26日
    浏览(46)
  • python接口自动化测试框架2.0,让你像Postman一样编写测试用例,支持多环境切换、多业务依赖、数据库断言等

    接口自动化测试项目2.0 软件架构 本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企业微信通知 + Jenkins 实现的接口自动化框架。 前言 公司突然要求你做自动化,但是没有代码基础不知道怎么做?或者有自动化基础,但是不知道如何系统性的做自动化,

    2024年02月13日
    浏览(61)
  • 高效自动化测试框架-优秀实践02-接口

    编写接口的操作的时候只需要编写接口的url,请求方法,请求体的样例 其他的将接口封装成服务或者的操作,全部使用装饰器来封装,能做到高效的解耦 在表示层编写业务测试用例的时候,可以使用函数式的编程方式,非常易读,还非常易于copy,提升编写效率 业务测试用例编写

    2023年04月08日
    浏览(61)
  • 0代码实现接口自动化测试 —— RF框架实践

    robotframework是一款 自动化测试框架 ,可能做各种类型的自动化测试。本文介绍 通过 robotframework 来实现接口测试 。 01、安装接口请求的第三方库 pip install robotframework-requests 在python安装目录的Libsite-packages可以看到 02、接口基础 robotframework-requests文档地址

    2024年02月04日
    浏览(45)
  • 一种基于闭包函数实现自动化框架断言组件的设计实践

    目前测试组同学基本具备自动化脚本编写能力,为了提高效率,如何灵活运用这些维护的脚本去替代部分手工的重复工作?为了达到测试过程中更多的去使用自动化方式,如何能够保证通过脚本覆盖更多的校验点,提高自动化测试的精度和力度?那么一定是不断的丰富断言,

    2024年02月08日
    浏览(64)
  • 自动化测试中如何判断测试是否通过?详解 Pytest 测试框架的断言用法

    目录 前言: 01 — Python 原生的 assert 02 — Pytest 的 assert 优点 03 — Pytest 断言的用法 4.1 断言字符串 4.2 断言函数或者接口返回值 4.3 断言集合类型 04 — Pytest 断言 Excepiton 05 — 为断言添加自定义功能 06 — 禁止 Pytest 的 assert 特性 07 — 总结 在自动化测试中,判断测试是否通过是

    2024年02月16日
    浏览(63)
  • Python自动化测试用例:如何优雅的完成Json格式数据断言

    目录 前言 直接使用 优化 封装 小结 进阶 总结  资料获取方法 记录Json断言在工作中的应用进阶。 很早以前写过一篇博客,记录当时获取一个多级json中指定key的数据: 后来在写用例生成过程中,发现重复的断言描述信息较多,大多数数据返回其实都是标准的json,所以将整个

    2024年02月13日
    浏览(45)
  • 【接口自动化测试入门】从0到1落地接口自动化测试

    前段时间写了一系列自动化测试相关的文章,当然更多的是方法和解决问题的思路角度去阐述我的一些观点。这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。 早些时候,软件研发交付流程大多遵循V型或W型的瀑布模式,这种模式下只有开发编码完成才会提测进入

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包