作为一位后端开发,我们平时经常需要维护API文档、对API接口进行调试、有时候还得Mock数据。Postman虽然作为接口调试工具非常好用,但是对于维护API文档这类工作却不太合适。今天给大家推荐一款功能更强大的工具Apifox,足以满足我们对API的各种需求,希望对大家有所帮助!
Apifox简介
Apifox 的定位是Postman + Swagger + Mock + JMeter,具有API文档管理、API调试、API Mock、API 自动化测试等功能。可以通过一种工具解决之前使用多种工具的数据同步问题。高效、及时、准确!
安装
- Apifox的安装非常方便,直接下载安装包解压安装即可,下载地址:https://www.apifox.cn/
- 官方非常贴心地提供了示例项目,直接打开即可体验Apifox的功能,看下界面还是很漂亮的;
- 我们自己使用的话首先需要新建团队,便于团队成员之间协同工作;
- 然后在团队中新建项目,新建成功后我们就可以开始使用Apifox的强大功能了!
API文档导入
Apifox的API文档导入功能非常强大,支持包括Swagger、Postman、YApi、ShowDoc等多达20种工具的导入。接下来我们通过使用之前mall-tiny-swagger项目中的接口,来体验下它的导入功能!
- 首先我们选择新建接口按钮,选择导入;
- 然后打开导入界面,选择Swagger->URL导入,输入Swagger的数据URL;
- 导入时将显示导入预览,显示要导入的接口和数据模型,Apifox将会把我们接口返回的实体类转换为数据模型,以便进行复用;
- 导入成功后界面效果如下,Apifox将查看文档和修改文档做了区分,方便我们管理接口文档。
接口管理
虽然从Swagger中导入的接口文档已经很详细了,但是为了体验Apifox更为强大的功能,我们有时候还是需要编辑下接口信息的。
接口设计
- 看下Apifox的请求参数界面,非常详细!
- 再看下Apifox返回结果界面,支持折叠,这个很多工具都是没有的;
- 再看下Apifox的修改文档界面,支持添加状态、分组和标签。
接口调试
我们再来体验下Apifox的调试功能,比Postman更强大!
- 在我们开发接口时,很多时候需要分不同的环境,Apifox默认给我们分了测试环境、正式环境、Mock服务,这三个基本也够用了;
- 在调试接口之前,我们得先设置好环境所对应的前置URL,比如这里我们设置了测试环境的;
- 在Apifox中我们可以使用接口用例来调试我们的接口,接口用例可以保存我们输入的参数,以便之后测试使用;
- Apifox支持在接口调用前后做自定义操作,比如我们可以在后置操作中添加一个断言,返回结果中code等于200表示操作成功;
- 此时我们输错密码来调用下接口,断言会直接提示我们结果和预期不符合;
- 有些接口我们需要传入Authorization头才能访问;
- 这种访问我们可以通过环境变量来实现,首先在登录接口中添加后置操作,选择提取变量,将返回的token提取到环境变量AUTH_TOKEN中;
- 然后修改接口文档,在Header中设置需要传入Authorization头;
- 接下来在接口用例中通过表达式使用Authorization头即可正常访问需要登录认证的接口了。
使用脚本
Apifox的自定义前置操作和后置操作非常强大,不仅支持简单的断言和提取变量,还能支持编写JS脚本。
- 例如之前我们判断操作成功,断言code等于200可以使用脚本这样实现;
- 此时我们输错密码来调用下接口,断言会直接提示我们结果和预期不符合。
Mock数据
在我们后端接口没有开发完成,前端开发需要数据时,往往可以通过Mock来提供数据,Apifox的Mock数据功能也是很强大的。
- Apifox号称能根据你数据模型中的字段名称智能Mock,让我们来看看它的规则;
- 其实默认的Mock规则有时候并不是很完善,比如我们来看下它Mock的数据;
- 此时我们可以在数据模型中修改,可以让Mock的数据更加人性化一点,比如我们可以将各种状态设置为枚举类型;
- 还可以将logo字段通过@image这种方式设置为图片类型;
- 重新设置一下之后,人性化多了;
- 接下来只需把环境改为Mock服务就可以调用Mock数据的接口了!
测试管理
Apifox不仅能支持接口调试,还支持创建测试用例进行批量测试以及性能测试。
- 首先我们可以在测试管理中创建测试用例;
- 之后选择从接口用例导入,选择好需要导入的接口用例;
- 选择好运行环境后,点击运行进行批量测试;
- 测试完成后即可显示测试报告;
- 如果你想进行性能测试的话,在测试界面选择好线程数即可;
- 测试完成后,可以通过导出报告来查看更为详细的报告信息。
主题设置
个人比较习惯暗色主题,Apifox也是可以选择亮色主题和主色的,直接在设置中可以进行切换。
总结
Apifox确实是一款界面漂亮、功能强大的API接口工具。Postman有的接口调试功能它基本都有,还集成了接口文档管理、数据Mock、自动化测试等功能,强烈建议大家尝试下!
参考资料
官方文档:https://www.apifox.cn/help/
项目源码地址
https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-swagger