最近使用了新的测试软件,记录一下使用过程和一些注意事项。
为什么使用 Apifox 作为API自动化测试工具?
在当今软件开发的快节奏环境中,API 自动化测试成为确保软件质量和效率的关键。作为测试人员,我们一直在寻找更高效的测试工具来应对日益复杂的项目需求和不断增加的测试压力。
此前,我们团队使用 Postman 进行自动化测试,但面临诸多问题:定位调试效率低,沟通成本高导致 bug 修复周期长;回归测试重复劳动大,效率低下;自动化测试覆盖面窄,多数同事编写用例困难;编写用例耗费大量时间精力,实操难度大。这些问题严重影响了我们测试团队的工作效率,所以我们想找一个实际可行的解决方案,解决这些问题。
为此,我们开始探索新的测试工具。我是在测试技术交流群中看到 Apifox 的,试用后发现确实能解决我的一些问题,而且免费,非常契合我们的需求。
认真来说,选择 Apifox 来进行 API 自动化测试的原因非常简单。我们要确保每次迭代的质量,避免引入新的 bug,还要实现自动化测试、定时测试、产品监控、可视化测试、持续集成等,我所在的团队人数不多,力不从心。所以需要好的自动化测试工具来帮助提高效率,通过设计和执行有针对性的测试用例,来全面验证产品功能,确保软件系统能够正常运行,减少上线后的问题。
使用 Apifox 进行 API 自动化测试的最佳实践
1.前期准备导入接口
首先,可视化操作界面就很好看,看着心情就好。
先把项目的 Swagger API 文档导出,然后 在「项目设置 - 数据管理 - 导入数据」中导入数据,支持导入 Postman、Swagger、RAML 等多种格式,我选择“Swagger”格式,上传了文档文件。
上传完成后,会自动生成目录结构和内容框架,这点就很棒,比手动建立目录结构节省很多时间,让接口文档建设变得轻松快捷。
我配置了环境,尝试调试了几个接口,都能成功响应,还可以验证响应,都没什么问题,就可以准备进行 API 自动化测试了。
2.API 自动化测试场景编排
根据需求文档设计测试用例,要涵盖正常输入、边界值、异常数据等情况。
明确需求后,通过 Apifox 的可视化操作界面来快速高效地完成用例设计。完成用例设计后,就可以进行自动化测试步骤的编排。
导入自动化测试接口及用例
Apifox 在这里的设置就很有趣,因为测试用例已经编写了,我可以直接导入相关的接口即可,它会自动与最新接口文档保持同步。
相关的用例导入之后,我开始调整测试步骤的细节,例如接口间的数据传递、异常情况的处理等。Apifox 提供了的各种功能,帮助我轻松实现了这些需求。
设置自动化测试条件分支
有些步骤,可以使用 Apifox 提供的条件分支功能。比如跨境电商项目主要对美区提供服务,所以如果填写的“国家/地区的 2 字符 ISO 代码”不是“US”的话,会提示其重新填写,因此条件分支功能可以处理该需求。
在接口中通过脚本的方式,将“国家/地区码”提取到环境变量里:
然后,在步骤中选择「条件分支」,将 if 的“条件值”通过变量的方式直接引用“国家/地区码”就可以了,非常方便。
自动化测试步骤分组
再比如,为了更方便管理相关接口,可以通过分组功能将接口组合在一起。
引用自动化测试前置步骤
Apifox 自动化测试能力里,有一个非常好用的功能,就是可以直接读取上一个步骤的数据。比如我在购物车信息的获取需要用到 id,我就可以直接引用前置步骤(创建购物车这一步)的响应,把前置响应的 id 值通过 JSONPath 表达式提取出来,非常简单非常方便,这个功能真的很值得称赞!
遍历循环自动化测试步骤
在 Apifox 里,可以直接通过可视化的方式循环步骤。比如商品种类繁多,我就可以用 ForEach 循环遍历商品 id,并在下一步将其作为参数传递,这样就可以完美循环调用接口。还可以设置一个 5000ms 的等待时间,更贴近真实场景。
这些功能能够帮助我快速编排完成测试场景,我只需要等待测试验证就行,比我用 Postman 来做自动化测试节省了很多时间,提升效率和用户体验的差异非常明显。
3.定位与排查自动化接口问题
运行测试场景,生成自动化测试报告
完成步骤编排后,就可以点击「运行」进行提测。在 Apifox 上执行了编写好的所有测试场景,会自动生成详细的测试报告,清晰展示每个接口的请求和响应信息,以及测试结果。
我可以单独执行每个失败的步骤,检查和调试定位问题。
测试报告在线分享
以往分享测试报告,更多是通过截图的方式传递。Apifox 则可以直接把测试报告以链接方式发送给研发或其他同事,他们也可以直接调试,更方便他们定位问题,快速修复。
随时更改参数
如果结束测试,研发团队又提出需求变更、参数调整等情况,Apifox 也能快速解决。只需要直接在接口文档中修改参数,所有关联的测试场景就能自动同步更新,非常简单高效。
自动化测试工具总结
研发修复 bug 后,我只需要在 Apifox 上点击回归测试,所有测试场景自动重新运行,工作都变得轻松起来了。以前需要手动执行每个用例,现在一键完成,省时省力。
在使用过一段时间 Apifox 后,我对 Apifox 的各项功能有了更深的理解和运用,它在接口文档管理、自动化测试等方面提供了大量便利,让我的工作效率和质量都得到了很大提升。
除此之外,在用 Apifox 进行自动化测试时,还遇到一些常见的需求如:
- 当场景实例很多时,可以在 Apifox 中批量运行场景实例,实现批量验证
- 当需要验证接口的并发能力时,可以直接在 Apifox 中对接口进行性能测试
总的来说,Apifox 作为一款免费的 API 自动化测试工具,比 Postman 更容易上手,并且中文语言环境更熟悉好用,对于我这种团队提高效率来说是很好用的。当然,如果是庞大的接口数据量需要测试,可能 JMeter 会更专业一些,按需选择即可。