Apifox简单使用
Apifox
最近一直在以pig、RuiYi-Cloud做一个自己的项目,非常需要一份接口文档工具,Swagger
这种侵入代码式的我不是很喜欢,之前也是有用过YApi
,不用改代码,利用与IDEA
的插件结合,很轻松就生成相关的接口文档,非常好用!
直到发现apifox,发现这个全能选手,如官方所说:
更先进的 API 设计/开发/测试工具
Apifox = Postman + Swagger + Mock + JMeter
如果能熟练使用它那生产力必然极大提升,想系统学习的看官方文档https://www.apifox.com/help/。
另外一提,我能发现它也是因为这篇文章:https://mp.weixin.qq.com/s/fT84AkFPZSINL9VUvAmNJw
下面就开始我的使用吧!
前期准备
下载、注册、建项目等等这些,我不多提了,可以看官网也可以看上面的那篇文章。
配置完成
都配置完成后,就可通过IDEA
插件直接生成文档到Apifox
![Apifox插件](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.4i1f1qhhmo80.webp)
在你的Controller
类中右键,点击Upload to Apifox
![更新到Apifox](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.10bwwfc0cxcw.webp)
接口管理
在项目中右上角更新接口文档。
![更新文档](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.1uqcacf4kn6o.webp)
要知道初始生成的只有接口文档,也就是上图中的GET
、POST
这些,下一级是我编写的用例。
环境与参数管理
另外注意右上边有环境设置这里可以设置各种环境信息和相关参数,后面我会用到。
![环境与参数管理](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.6ciomkzyz980.webp)
接口文档
文档
点开接口,首先是文档,我们可以在此基础上去编写接口文档
![接口文档](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.79y0gfxy8kg0.webp)
运行
就是postman
,我们在此发送请求,所有的请求参数我们都可以通过Mock
来生成,非常方便。
![运行](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.5gy0k94bqgw0.webp)
动态值非常丰富,很多场景都适用。
![动态值](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.5ujhabuxn680.webp)
高级Mock
这个还未使用过
用例
用例是由接口文档生成的,也就是具体的请求了。点开文档运行就可以点击保存为用例了。
下面是三个基于分页查询的三个用例。
分页查询全部数据
这里分页请求入参都为空,响应会是全部数据,这里配置了后置操作,取出$.data.total
赋给环境变量的total
,那么在此环境(开发)这个total
就可以复用了。
![分页查询全部数据](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.64juwjqptrk0.webp)
分页查询成功
这里设置了前置操作如下,就是通过前面设置的total
来计算size
和current
,并把它们赋给对应的变量中,最后入参时使用这些变量。
1 | var total = pm.variables.get("total"); |
![分页查询成功](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.4pn1s48qc3s0.webp)
查询一条记录
还是分页查询,把size
设置为1,current
计算一下就好,就可以随机查询出一条记录了。
1 | var total = pm.variables.get("total"); |
同时设置后置操作,通过这一条记录,添加id
、name
或者其他单条记录的属性值,这些变量又可以在接下来的根据id
用例中使用。
$.data.records[0].id
上面这些也就是抛砖引玉了,发挥你的想象力吧!
数据模型
就先不说了,看官网吧。
自动化测试
这个还挺有意思的,能省去好多时间。
测试用例
这里的“根据id查询”测试用例,就是前面的用例组合,通过变量的传递,这个用例还是有价值的。同时右边有线程和循环可设置,JMeter
嘛。
![测试用例](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.4peaavvxzew0.webp)
测试套件
测试套件呢又是测试用例的集合,不多讲了。
![运行套件](https://jsd.cdn.zzko.cn/wnhyang/clouding@master/cloud-picture/image.6a995nhl2rw0.webp)
测试报告
就是所有运行过程的报告。
小结
从自动化测试来讲,这种套娃式的,从接口文档到用例到测试用例到测试套件,都说明了接口的重要,编写接口够规范就能剩下很多事情,利用用例再设计的好一些,那么效率就直线提升了。
从Apifox
整体上来讲真的很强很强,用着太舒服了。看来未来postman
不好过呀!