- 作者:老汪软件技巧
- 发表时间:2024-08-24 04:01
- 浏览量:
最近使用了新的测试软件,记录一下使用过程和一些注意事项。
为什么使用 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 里,可以直接通过可视化的方式循环步骤。比如商品种类繁多,我就可以用 遍历商品 id,并在下一步将其作为参数传递,这样就可以完美循环调用接口。还可以设置一个 5000ms 的,更贴近真实场景。
这些功能能够帮助我快速编排完成测试场景,我只需要等待测试验证就行,比我用 Postman 来做自动化测试节省了很多时间,提升效率和用户体验的差异非常明显。
3.定位与排查自动化接口问题运行测试场景,生成自动化测试报告
完成步骤编排后,就可以点击「运行」进行提测。在 Apifox 上执行了编写好的所有测试场景,会自动生成详细的测试报告,清晰展示每个接口的请求和响应信息,以及测试结果。
我可以单独执行每个失败的步骤,检查和调试定位问题。