做一个产品,首先应该考虑好:这个产品的核心竞争力是什么?
apifox这个产品在各大平台宣传时,一直说是postman的替代品,且功能比postman强大特别多。
简单看来,这款产品的野心极大,希望前端、后端、测试,全都使用这一款软件。所以这款软件设计的功能很繁杂。
而我的需求:只是想找一个postman的替代品。
缘起
因为postman近期时不时的就会打不开接口,严重影响工作效率,特别是你着急想测试接口的时候。
或者是修改了postman的接口后,无法保存,因为登录了postman账号,保存时会自动保存到云端,若连接云端超时,则保存失败。这个现象近期也发生了几次。
所以想要尝试+支持一下国产工具看看。
postman数据导出
1、单个项目数据导出
选中单个项目,右上角的“三个点”,可以将该项目接口数据导出。
2、所有项目导出
然后会打开一个链接:https://web.postman.co/me/export?
这个链接等了 半小时也没打开。。。这也是我不喜欢国外软件的原因。
apifox 数据导入
这个导入也很方便,简单易懂。
选择postman格式,把刚刚导出的文件放进来就可以啦。
把文件放进来之后,可以看到刚刚导入的文件的所有接口。
这个接口覆盖模式,就是有相同的接口url时,如何处理,根据实际情况选择吧
导入到分组就可以选一个自己的分组了,这里我自建一个项目分组。
导入完成后,返回接口管理,查看接口如下:
发现了一个迁移后的问题,端口号没迁移过来:
apifox 基础使用
想要修改一下url,加上版本号,结果提示要修改“环境”,看来是默认把导入进来的url当作环境了。
点开测试环境后,默认如下:
然后我在环境里面加上了端口号,保存。
修改了环境后,接口上的url也自动修改了
点击发送,接口请求成功,只不过apifox会默认校验出参,不是json会提示报错,不影响请求结果
下面这个返回值是json,就没有异常提示。
如果对参数做了修改,想要保存,点击暂存按钮是不被apifox推荐的,apifox更推荐保存为用例。
用例就是一个接口可以保存多份不同类型的入参,设计初心是想让测试人员直接用这个当测试用例。
apifox希望调接口之前先写接口定义,相当于先写了文档,才能调用接口
不过仍然提供了一种不需要写文档,也能直接测接口的方法:“快捷请求”
新建一个快捷请求,在快捷请求里面可以像postman一样调用,调用完成后保存为接口即可,记得放到接口对应的项目下
在项目目录下是不能直接建快捷请求的,只能建接口,要先写接口文档的那种。
这个还是挺麻烦的,不能直接在对应目录下建接口,需要先建快捷请求,再保存到对应的项目下。
apifox优缺点
优点:
功能还是挺丰富的
中国人研发的,不会存在各种访问不到的问题
用例其实挺好用的
postman的所有功能基本都有
缺点:
整体设计的较为复杂,我用这个就是想调接口,主创团队总以为我要用这个写接口文档。
我用apifox最主要用功能的就是“快捷请求”,是apifox比较不推荐的一种方式!!!!!
看论坛很多人说应该还是会有各种小bug
本来就是一个请求接口的东西,整了那么多功能,导致学习成本指数级增长。可能会阻碍一部分用户入坑
接口文档一般不会用这个生成,生成的页面格式不好看,看缩进看的眼瞎。除非公司强制要求,否则不会用。
看apifox官方文档的感觉:后端写接口的时候要考虑到所有的入参情况,然后写好所有用例分享给测试人员,测试人员一键调用就行了?????
还有根据接口自动生成代码功能???大家生成代码真的会考虑Apifox吗?
还有压测功能。。。。我还没研究过。。。。
总结
我估计只会用apifox的快捷请求功能、用例功能、环境变量功能。(总的来说就是postman上的那些基础功能,postman的产品经理真强,做的都是核心功能)
作为一个后端研发人员,我还是更喜欢postman。
20240823更新
现在日常工作中已经开始使用Apifox了(打脸。。。);下面说一下这段时间使用过程中感觉比较好的点吧。
1、因为是国产软件,所以不存在时不时无法保存的问题;
2、账号远程保存接口、在公司添加的接口,回家用自己电脑登上账号之后直接可以使用
3、接口用例功能及其好用;
例如,我有一个支付状态回传接口;回传状态有支付成功、支付退汇、支付退回等等
不同的支付状态回传的字段参数差异还挺大的
在Apifox中就可以分别写不同情况下的回传参数,写完保存上
以后如果有单据让我协助回传支付退汇,我在Apifox直接找到以前写的用例,改下单号就可以直接回传
4、环境变量功能也很好用
在公司,程序员一般不止负责一个项目;例如你负责A项目、B项目、C项目
你可以在环境里配置上这三个服务;且分别可以配置上:本地环境、测试环境、生产环境
然后你新建这几个项目目录,每个项目的接口放在自己的目录下,每个目录引用对应的服务地址即可
之后,你再新增接口的时候,只需要在对应目录下创建接口即可,永远无需再考虑:ip端口号分别是什么?
因为项目目录自带本项目ip端口号!!!
虽然在项目工作中已经用了挺长时间,我还是感觉只是用的接口调用功能。。。。
Api文档我一般只写:接口地址、接口名称、然后选择请求方式get post。。。没了。。没指望他生成接口文档,能让我正常调接口就行。
确实有很多挺好的设计点(针对接口调用过程,不是指接口文档和压测啥的)
因为设计方面和Postman存在一些区别,所以刚开始换过来的时候会有一些不适应,适应之后感觉也挺好用的