我与 “Apifox ”的网络情缘
敬爱的敌人们,想借此机会跟大家分享一个Love Story:我与Apifox的网络情缘。
1 引言
简略介绍一下故事人物:
角色 | 姓名 | 阐明 |
---|---|---|
男一 | 阿哲 | 故事主人公“我”,是PMS畛域的后起之秀,已反对数万家酒店失常经营"。 |
女一 | 睿狐 | Apifox,昵称:小狐 |
月老 | 刘哥 | 测试负责人 ( 他是为了我的终身大事,开挂的"月老" ) |
前女友 | Postman | |
已经们 | Jmeter, swaggerUI,MeterSphere, SoapUI, Katalon Studio,Robotframework |
PS:性别为故事剧情须要,莫过于较真 ~
2 缘起
年前的时候,测试负责人刘哥说“为了保障每次迭代品质上线,除了原有的性能(UI)层面的测试以外,必须把API接口自动化测试提上日程。 更早的染指接口测试,可更早的发现软件缺陷,而且接口测试更稳固!每次回归跑一跑他不香么blabla”。从那以后他就开起来当“月老”的暴走模式。介绍的对象中印象粗浅的有:Jmeter,swaggerUI,MeterSphere,soapUI, Katalon Studio,Robotframework,Postman 。 这几个置信测试的童鞋比拟相熟。各花入各眼,都个有优缺点,就不开展说了。 在相处的过程中,Jmeter 终处成了闺蜜,压测的时候常常一起游玩;该说不说提一嘴,不得不好好提下Postman,毕竟“后任”。必须得给画面: Postman有很多长处:
- ①反对http、https协定,做接口调试十分的优良
- ②保留历史记录,不便组织测试用例及反对多终端同步用例
- ③反对读取csv,json数据文件
- ④反对创立不同权限的Workspaces,能反对团队合作(依照团队规模和团队合作的功能模块免费),但免费版的团队单干反对跟没有是差不多,差评... 毛病就不当众说了吧;刘哥联合我的具体情况,也对下一”对象”明确了几点要求:
- ①必须很好的反对团队单干,
- ②零学习老本
- ③ 不便做API自动化测试
- ④能对数据库进行相干操作
- ⑤要能MOCK数据
- ⑥ 长得要好看
不能说我阿哲渣,的确是几经挫折相处下来发现真的都不是最合适的。
3 相遇想识
有人说”前世500次的回眸才换来今生的相遇”;一次偶尔,刘哥带你(Apifox)走进了我的视线。没错,只是因为在人群中多看了你一眼,再也没能忘掉你相貌。从对视的那一刻起,我晓得这就是“缘”!
- 阿哲:“你好,我是阿哲”
- Apifox:“你好,我是小狐” ...
4 相知相爱
相识后,我用尽所有所有能晓得的方法摸索、致力尝试,只为走进你的世界,也带你理解我的世界;增进理解,拉近彼此间隔。 经验了这段时间的磨合,咱们相爱了,爱的那么深,爱的那么认真!我深知你所有的好。
4.1 Apifox下载安装
Apifox反对 桌面版和WEB版 , 受制于各种网络、硬件等环境影响,通过长时间应用,集体举荐大家间接下载桌面版装置应用,更稳固。小狐反对各Windows,macOS,Linux零碎桌面版。
官网下载地址:www.apifox.cn
4.2 创立团队和我的项目
要创立本人的团队和我的项目,首先须要在Apifox上注册个账号(邮箱注册),也能够间接微信扫码登录,这种形式是也是他们比拟举荐的登录形式。 无论哪种形式操作都很简略依据提醒来就行了,不赘述。 十分有意思的是 Apifox反对多样的外观,也就是她有十分多样的衣服色彩搭配 在注册登录界面的时候就能够抉择本人喜爱的界面风格(外观、主色、字体大小任意搭):
有了账号就能够创立本人的团队和我的项目了:
若有多个团队 能够拖动换地位, 多个我的项目同理:
我的项目这多说一句能够你容易克隆、挪动、删除我的项目,删除我的项目需人工输出项目名称确认 ,这个设计很好,防止误操作一下子把我的项目干掉了:
4.3 邀请成员/设置权限
既然咱们要团队合作, 团队成员进来是必须的,Apifox提供了3中邀请形式:链接要求、邮箱要求、账号邀请,不论哪一种操作都比拟不便。
4.4 接口文档设计
应用Apifox设计接口方便快捷,遵循OpenAPI标准,齐全可视化 。光标挪动至已创立的我的项目的 地位 ,点击【新建接口】,而后依据接口的设计要求,填入接口门路、名称、分组、状态、参数、责任人、标签、服务、申请参数、返回响应及其相应的数据结构等。
设计文档这里还有个亮点,就是 自定义接口文档字段的应用, 咱们心愿接口文档 跟 产品需要文档 一一对应, 于是咱们在接口文档中自定义了 “Confluence需要链接”:
若是曾经实现的性能,在Apifox里补充接口文档, 有个疾速的办法, 通过JSON/XML智能辨认/疾速导入,很好用:
4.5 接口数据导入
之前API大部分都在Postman 和RAP上,Apifox导入数据的性能异样弱小,简直你用到的数据格式都反对,这个必须点赞!我的数据很多都来自Postman 和RAP,先从Postman和RAP上导出数据。 而后通过【我的项目设置】的 【导入数据(手动导入)】把数据导入Apifox;导入后失常运行。只是在Postman导入的过程中,发现了小问题,就是我的有些接口的申请参数默认导成了 form-data格局,而咱们都是JSON的,这个问题还须要深入研究下 WHY。
4.6 接口调试
4.6.1 Apifox调试之”主动校验”:
小狐调试接口基本操作跟Postman操作无差别。而且调试时亮点不少,比方调试时 小狐 会 ”主动校验” 数据结构,她会依据接口文档的定义,“主动校验“”返回的数据结构正确与否。无需任何脚本十分奈斯。
4.6.2 Apifox调试之”环境、变量治理”:
调试时不免用到不同的环境,须要设置环境变量、全局变量、全局参数什么的,Apifox全都有而且易操作。
4.6.3 Apifox调试之”断言”
4.6.4 Apifox调试之”接口依赖”
(下一个接口的申请依赖于上一个接口返回的数据)。 拿咱们的我的项目为例, 咱们有些接口都会用到登录接口返回的token值,具体怎么做呢? 如下:
登录接口的【后置操作】 提取变量:
阿哲我的项目的某接口用到的登录接口返回的token值,在申请参数中退出后面提取的变量即可:
4.7 测试用例
Apifox中组织治理测试用例超级不便,对接口文档执行【运行】操作,而后 【保留为用例】就会生成一条测试用例;并且用例会主动追随这接口扭转而变。
批改申请参数,点击 发送 保留为用例 ,可再生成用例,以此类推 一个接口轻松设计多条正异样测试用例。
4.8 接口MOCK数据
Apifox的亮点在于,智能MOCK数据很人性化,咱们测试人员在用的时候更多的是应用“主动生成”性能。
4.9 自动化测试
自动化测试用例的组织以及测试套件的组织与治理是咱们测试小伙伴工作的重点。
咱们刘哥也是举荐测试组内小伙伴用 “从【接口用例】导入(举荐)”,【接口治理】模块中组织好每个接口相干的测试用例,而后到【自动化测试】模块针对需要场景组织测试用例。
无论是测试用例还是测试套运行后都会生产测试报告
测试报告不便查看、导出:
4.10 API Hub
小狐本身带了很多第三方平台,如企业微信、钉钉等的凋谢 API ,置信通过对他们的学习钻研,能够让本人变的更优良。
官网下载地址:www.apifox.cn
5 相守
相爱中的人儿总是你侬我侬,容易被恋情冲昏头脑。然而咱们是理智的, Apifox曾经很优良,但仍有很多提高空间,比方:
- 继续集成-- 感觉继续集成的不便度还不够,有优化空间
- 减少对gRPC、WebSocket 等协定接口的反对
有人说过”1000个我的项目心中有1000个小狐”,愿我跟“小狐”的相遇、相识、相知、相爱终能相守毕生。
\