这么好用的接口工具,请允许我油腻一次!

简介: 年前的时候,测试负责人刘哥说“为了保证每次迭代质量上线,除了原有的功能(UI)层面的测试以外,必须把API接口自动化测试提上日程。

我与 “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个小狐”,愿我跟“小狐”的相遇、相识、相知、相爱终能相守一生。

网络异常,图片无法展示
|

相关文章
|
5月前
|
数据安全/隐私保护
怎么更改AD域用户账号和密码_AD域管理中那些实用的软件
在AD域管理中,用户常需重置密码,管理员也面临大量密码相关工单的困扰。为此,ADSelfService Plus作为自助工具,支持用户通过短信或邮件验证修改密码,并提供密码过期提醒功能,极大减轻管理员负担。而ADManager Plus则专注于批量处理,帮助管理员高效完成账户和密码的批量重置等任务。两者各有侧重:ADSelfService Plus侧重用户自助,ADManager Plus提升管理员效率,结合使用可显著优化AD域管理流程。
332 4
|
5月前
|
SQL 机器学习/深度学习 数据挖掘
【Uber 面试真题】SQL :每个星期连续5星评价最多的司机
本文是【SQL周周练】系列的第一篇,作者“蒋点数分”分享了一道来自Uber面试的真题及其解法。题目要求找出每周连续获得5星好评最多的司机ID。文章详细解析了利用SQL窗口函数解决“连续”问题的思路,并通过Python和NumPy生成模拟数据,最终提供Hive SQL解答方案。后续还将涉及Streamlit应用、时间序列分析、AB实验设计等内容,欢迎关注。
160 16
|
6月前
|
存储 JSON API
淘宝商品详情API接口概述与JSON数据示例
淘宝商品详情API是淘宝开放平台提供的核心接口之一,为开发者提供了获取商品深度信息的能力。以下是技术细节和示例:
|
Oracle 关系型数据库 Go
19c 数据库安装之前安装RU
19c 数据库安装之前安装RU
179 3
|
消息中间件 Java 开发者
Spring Cloud微服务框架:构建高可用、分布式系统的现代架构
Spring Cloud是一个开源的微服务框架,旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具,用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的支持。
372 5
|
10月前
|
消息中间件 缓存 Java
手写模拟Spring Boot启动过程功能
【11月更文挑战第19天】Spring Boot自推出以来,因其简化了Spring应用的初始搭建和开发过程,迅速成为Java企业级应用开发的首选框架之一。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,帮助读者深入理解其工作机制。
129 3
|
SQL Java 数据库
5、Mybatis-Plus 常用注解
这篇文章详细介绍了Mybatis-Plus中常用的注解,包括解决实体类与数据库表名不一致、字段不匹配的问题,主键生成策略的配置,以及逻辑删除的实现方法。
5、Mybatis-Plus 常用注解
|
负载均衡 Java 应用服务中间件
Gateway服务网关
本节针对微服务中另一重要组件:网关 进行了实战性演练,网关作为分布式架构中的重要中间件,不仅承担着路由分发(重点关注Path规则配置),同时可根据自身负载均衡策略,对多个注册服务实例进行均衡调用。本节我们借助GateWay实现的网关只是技术实现的方案之一,后续大家可能会接触像:Zuul、Kong等,其实现细节或有差异,但整体目标是一致的。
|
存储 数据采集 弹性计算
日志服务SLS入门指南
简述日志服务SLS及日志采集、信息脱敏和告警接入相关操作
|
开发框架 .NET Nacos
使用 Nacos 在 C# (.NET Core) 应用程序中实现高效配置管理和服务发现
使用 Nacos 在 C# (.NET Core) 应用程序中实现高效配置管理和服务发现
1274 0