本期接口测试系列文章的最后,我们再给大家介绍一下Swagger这个开源的小项目,以及它与Jmeter的一键融合。
开源项目地址:https://github.com/Pactortester/swaggerjmx
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。它目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,消除了调用服务时可能会有的猜测。
把Swagger的在线接口文档,导出成Jmeter的脚本,jmx文件。填写Swagger api 文档地址,开始转换。
转完之后,我们用Jmeter把它打开。我们可以看到一共录制了4个接口,每个接口的参数、地址等都有,根路径也都帮你提取了,这样你就可以进行自动化测试或者性能测试了。同理,其他的测试工具LoadRunner等也都是同样的思路。
最后这一部分咱们说一下怎么把在线的接口测试文档转成Excel或者jmx文件,也就是我们最开始提到的,怎么高效地去生成用例。
我们再扩展一点,比如说我们的接口已经维护好了,但是开发可能开发了一些新的功能,去进行变更了,我们只需要把我们今天读取到的接口文档里的全部信息保存到数据库里面,第二天再去获取一下接口信息的最新的一些消息。
一对比就知道开发到底该了哪些接口里面的数据了,变更也好,新增也好,我们就可以生成这部分变更,只跑这部分的用例就可以了。变更也是自动获取,我们就可以写一个自动的定时任务去获取开发接口的信息变更,去更新我们的接口测试用例、接口的脚本库。