Apifox高效的进行接口测试,非常好用(上)

发表于:2022-4-06 09:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Hong1    来源:稀土掘金

  什么是接口测试
  接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及各子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
  为什么要做接口测试
  从测试效率来说,随着系统功能复杂化,手工测试模式下测试效率较低,无法应对快速迭代的节奏。
  接口测试可以解决这种问题,且接口测试相对界面自动化来说,更容易实现自动化持续集成且比较稳定,可以减少人工回归测试的人力成本,缩短测试周期,支持后端快速发版需求。
  从安全角度说,只验证前端入参限制是不够的,需要对后端进行权限控制等等,在这种情况下就需要从接口层面进行验证。
  接口测试的流程
  接口测试即模拟接口请求,验证接口是否返回期望的结果。根据接口的功能,设计出不同的组合场景下,接口的入参和期望,编写成接口用例。
  当设计好一系列接口用例,发起接口请求,并自动检查接口的响应输出判断结果。校验接口响应是否符合预期,需要验证2点:数据类型正确性以及值正确性。
  如何做好接口测试
  面临问题
  先分享一个对话~
  以上是目前比较常见的模式,开发使用swagger做接口管理,使用postman做接口调试,测试使用JMeter或Python+Requests做接口测试,不同的工具间存在的问题是接口同步、用例维护比较高,通知不及时可能导致用例失去意义。
  另外还存在各自造轮子等不可忽视的测试框架研发成本及人员培训成本。为了保证能实现较高投入产出效率,我们团队在选择接口工具时,会考量以下几个点:
  ①能减少数据同步成本:接口数据、测试脚本、用例数据都能实时同步
  ②减少工具开发成本:能提供易用性高、实用性强的接口测试模块,降低培训成本
  ③可以满足持续集成的需求
  经过我们数月的调研和对比,终于找到一阿款契合我们需要的接口测试工具——Apifox。
  根据官方介绍Apifox=Postman+Swagger+Mock+JMeter,可以看出Apifxo直奔协作,通过一套系统、一份数据,解决多个系统之间的接口数据同步问题。
  只要定义好接口文档,调试、Mock、接口测试可以直接进行,无需再次定义,当接口发生变更时,用例和Mock数据也会实时更新。接口文档和接口开发调试使用同一个工具,因此接口用例数据可以在团队共享,提高了用例的使用率。
  此外,Apifox提供了很多测试功能,可以让团队更专注在测试用例的设计上。最后,ApifoxCLI支持集成到jenkins满足我们定时构建的需求。
  今天我们主要介绍接口测试的功能,其他功能可以戳官网了解。五、Apifox接口测试步骤接口定义。
  为了方便演示,我们选择登录接口来演示。
  如图,我们先熟悉接口定义。在修改文档可以编辑接口信息:接口路径为/user/login.json,请求方式是POST,请求body参数有account和password:
  接口响应的数据类型、状态码、格式定义界面都是可视化的,可以通过输入一段json快捷识别数据结构。
  点击预览可以看接口响应的mock数据,直观展示响应的结构。
  接口调试
  在接口运行页,只需填写对应参数值,选择运行环境,点击发送,即可发起一个接口请求,实际请求和响应都可以点击查看。点击保存为用例,可以将调试信息保存为用例供下次使用。
  结构自动校验
  上图中,我们发现Apifox的界面上有一个校验Response,这是工具的特色功能——只要打开开关,系统会根据所选择的数据结构,自动比对响应状态码和字段类型。
  如下图所示,age字段类型定义是int,实际上返回string,系统自动提示校验失败及错误详情。
  零代码即可自动判断,非常省时。如果不需要自动校验,可以选择不校验~
  选择保存用例可以把调试数据保存下来。接下来,就可以按照这个步骤在Apifox上添加用例。我们先来看看Apifox用例提供了哪些好用的功能↓前后置操作。
  Apifox为调试接口、用例提供了多种可视化的前后置操作。前置操作是在请求发送之前操作,例如签名加密;后置操作在请求发送之后执行,例如数据校验和结果提取。Apifox的前后置操作有数据库操作、自定义脚本、公共脚本、断言、提取变量五种类型,每个用例都可以添加多个前后置操作,并且步骤右上角可以设置开(生效)、关(不生效)。
  Apifox的脚本完全兼容postman的语法,完全可以无缝迁移过来,此外还支持调用外部代码、提供多种内置库,这点能满足我们更多拓展性的测试需求。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号