likes
comments
collection
share

Apifox简单使用

作者站长头像
站长
· 阅读数 14

Apifox

最近一直在以pigRuiYi-Cloud做一个自己的项目,非常需要一份接口文档工具,Swagger这种侵入代码式的我不是很喜欢,之前也是有用过YApi,不用改代码,利用与IDEA的插件结合,很轻松就生成相关的接口文档,非常好用!

直到发现apifox,发现这个全能选手,如官方所说:

更先进的 API 设计/开发/测试工具

Apifox = Postman + Swagger + Mock + JMeter

如果能熟练使用它那生产力必然极大提升,想系统学习的看官方文档www.apifox.com/help/

另外一提,我能发现它也是因为这篇文章:mp.weixin.qq.com/s/fT84AkFPZ…

下面就开始我的使用吧!

前期准备

下载、注册、建项目等等这些,我不多提了,可以看官网也可以看上面的那篇文章。

配置完成

都配置完成后,就可通过IDEA插件直接生成文档到Apifox

Apifox简单使用

在你的Controller类中右键,点击Upload to Apifox

Apifox简单使用

接口管理

在项目中右上角更新接口文档。

Apifox简单使用

要知道初始生成的只有接口文档,也就是上图中的GETPOST这些,下一级是我编写的用例。

环境与参数管理

另外注意右上边有环境设置这里可以设置各种环境信息和相关参数,后面我会用到。

Apifox简单使用

接口文档

文档

点开接口,首先是文档,我们可以在此基础上去编写接口文档

Apifox简单使用

运行

就是postman,我们在此发送请求,所有的请求参数我们都可以通过Mock来生成,非常方便。

Apifox简单使用

动态值非常丰富,很多场景都适用。

Apifox简单使用

高级Mock

这个还未使用过

用例

用例是由接口文档生成的,也就是具体的请求了。点开文档运行就可以点击保存为用例了。

下面是三个基于分页查询的三个用例。

分页查询全部数据

这里分页请求入参都为空,响应会是全部数据,这里配置了后置操作,取出$.data.total赋给环境变量的total,那么在此环境(开发)这个total就可以复用了。

Apifox简单使用

分页查询成功

这里设置了前置操作如下,就是通过前面设置的total来计算sizecurrent,并把它们赋给对应的变量中,最后入参时使用这些变量。

var total = pm.variables.get("total");

var size = Math.floor(Math.random() * (total) + 1);

pm.variables.set("size", size);

var pages = total % size == 0 ? total / size : Math.ceil(total / size);

pm.variables.set("pages", pages);

var current = Math.floor(Math.random() * (pages) + 1);

pm.variables.set("current", current);

Apifox简单使用

查询一条记录

还是分页查询,把size设置为1,current计算一下就好,就可以随机查询出一条记录了。

var total = pm.variables.get("total");

var current = Math.floor(Math.random() * (total) + 1);

pm.variables.set("current", current);

同时设置后置操作,通过这一条记录,添加idname或者其他单条记录的属性值,这些变量又可以在接下来的根据id用例中使用。

$.data.records[0].id

上面这些也就是抛砖引玉了,发挥你的想象力吧!

数据模型

就先不说了,看官网吧。

自动化测试

这个还挺有意思的,能省去好多时间。

测试用例

这里的“根据id查询”测试用例,就是前面的用例组合,通过变量的传递,这个用例还是有价值的。同时右边有线程和循环可设置,JMeter嘛。

Apifox简单使用

测试套件

测试套件呢又是测试用例的集合,不多讲了。

测试报告

就是所有运行过程的报告。

小结

从自动化测试来讲,这种套娃式的,从接口文档到用例到测试用例到测试套件,都说明了接口的重要,编写接口够规范就能剩下很多事情,利用用例再设计的好一些,那么效率就直线提升了。

Apifox整体上来讲真的很强很强,用着太舒服了。看来未来postman不好过呀!