51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 886|回复: 2
打印 上一主题 下一主题

一个时代的变迁,Apifox的优缺点等你来认知

[复制链接]
  • TA的每日心情
    无聊
    2024-10-29 09:20
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2022-8-10 16:01:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    目录
    一、API调试常用解决方案
    1、Postman + Swagger + Mock + JMeter
    2、存在的问题
    3、Apifox
    二、下载与安装
    1、支持多种操作系统,贴心
    2、一键安装,简单
    3、自定义环境,节省固定的ip前缀,方便
    三、功能特性
    1、API 文档设计
    2、API 调试
    3、API 自动化测试
    4、API 数据 Mock
    5、CI 持续集成
    6、数据库操作
    7、自动生成代码
    8、支持 HTTP、TCP、RPC
    9、数据导入/导出
    10、团队协作
    四、最佳实践
    五、后续功能规划
    六、Apifox 下载地址


    一、API调试常用解决方案
    1、Postman + Swagger + Mock + JMeter
    作为一个后端开发,我做的大部分项目一般都是基于 Swagger 来管理 API 文档,基于 Postman 来做接口调试,基于 JMeter 来做接口性能测试,基于 RAP 等工具 Mock API 数据。

    2、存在的问题
    (1)多系统数据不互通
    API设计者、前端开发、后端开发、测试人员大量重复工作。


    (2)效率低
    可视化程度低、操作不友好。


    (3)无法团队协作
    单机离线使用为主,成员之间无法实时同步数据,无法协作。


    (4)学习成本高
    初学者难以入手,需要大量的学习成本、培训成本。


    (5)数据一致性困难
    每次变更,都需要不同角色手动去多套系统修改,维护一致性非常困难。时间久了,不一致性越来越严重,最终不可维护。


    貌似有一些繁琐,但也习以为常了,突然有一天,我在逛CSDN的时候,发现了Apifox,好奇的进入了官网看了看,瞬间感觉自己发现了宝藏,下载、安装、运行、调试,一顿操作猛如虎,酸爽!当天下午,我就组织了部门会议,给大家做了一个简单的Apifox分享!


    3、Apifox

    有了 Apifox,我们只需要定义接口文档就可以直接使用接口调试&测试、数据 Mock 等功能。并且,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!


    根据官网描述,Apifox 主要为我们提供了下面这 4 类功能:


    接口设计 :可视化文档管理,高效便捷,零学习成本! 遵循业界的 OpenApi 3.0 (原 Swagger)、JSON Schema 规范。
    接口调试 :这个基本就是 Postman 有的功能,Apifox 上都有。
    接口自动化测试 :这个基本就是 JMeter 有的功能,Apifox 上都有,并且要更好用。不过,这个功能目前仍然在持续开发中。
    接口数据 Mock :内置 Mock.js 规则引擎,非常方便 mock 出各种数据。
    除了上面介绍的功能之外,Apifox 还提供了 CI 持续集成、数据库操作、自动生成代码、数据导入/导出、团队协作等等开箱即用的功能。


    二、下载与安装
    下载与安装:Apifox官网地址
    1、支持多种操作系统,贴心

    2、一键安装,简单

    3、自定义环境,节省固定的ip前缀,方便

    三、功能特性

    1、API 文档设计
    可视化 API 文档管理,零学习成本。
    支持数据模型,接口之间可以复用相同数据结构。
    接口文档完全遵循 OpenAPI(Swagger) 规范。
    支持在线分享 API 文档,方便与外部团队协作。


    2、API 调试
    Postman 有的功能 Apifox 都有(如环境变量、前置/后置脚本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。
    自动校验数据结构:校验返回的数据结构是否符合文档定义,自动发现接口数据异常。
    可视化的断言、提取变量、数据库(SQL)操作等功能。
    支持接口用例功能(一个接口多个用例)。
    (1)自定义json格式

    (2)自动生成json格式数据

    (3)返回结果校验

    3、API 自动化测试
    完善的 API 场景测试(流程测试)功能,保证接口数据的正确性。
    可视化的断言、提取变量、数据库(SQL)操作等功能。
    支持自定义前置/后置脚本,自动校验数据正确性。脚本语法 100% 兼容 Postman,降低学习成本。
    支持调用 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等语言代码。

    4、API 数据 Mock
    Apifox 零配置 Mock 出来的数据和真实情况是非常接近的,前端开发可以直接使用,而无需再手动写 mock 规则。
    Apifox 如何做到高效率、零配置生成非常人性化的 mock 数据
    Apifox 根据接口定义里的数据结构、数据类型,自动生成 mock 规则。
    Apifox 内置智能 mock 规则库,根据字段名、字段数据类型,智能优化自动生成的 mock 规则。如:名称包含字符串image的string类型字段,自动 mock 出一个图片地址 URL;包含字符串time的string类型字段,自动 mock 出一个时间字符串;包含字符串city的string类型字段,自动 mock 出一个城市名。
    Apifox 根据内置规则,可自动识别出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出非常人性化的数据。
    除了内置 mock 规则,用户还可以自定义规则库,满足各种个性化需求。支持使用 正则表达式、通配符 来匹配字段名自定义 mock 规则。


    5、CI 持续集成
    支持命令行方式运行 API 测试 (Apifox CLI)。
    支持集成 Jenkins 等持续集成工具。


    6、数据库操作
    支持读取数据库数据,作为 API 请求参数使用。
    支持读取数据库数据,用来校验(断言) API 请求是否成功。


    7、自动生成代码
    根据接口/模型定义,自动生成各种语言/框架的业务代码和 API 请求代码。
    支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 种语言及框架。
    支持自定义代码模板,自动生成符合自己团队的架构规范的代码,满足各种个性化的需求。


    8、支持 HTTP、TCP、RPC
    支持 HTTP(s) 接口管理。
    支持 Socket (TCP) 接口管理。
    后续将会支持 GraphQL、Dubbo、gRPC、WebSocket 等协议接口。


    9、数据导入/导出
    支持导出 OpenApi (Swagger)、Markdown、Html 等数据格式,因为可以导出OpenApi格式数据,所以你可以利用 OpenApi (Swagger) 丰富的生态工具完成各种接口相关的事情。
    支持导入 OpenApi (Swagger)、Postman、apiDoc、HAR、RAML、RAP2、YApi、Eolinker、NEI、DOClever、ApiPost 、Apizza 、ShowDoc、API Blueprint、I/O Docs、WADL、Google Discovery等数据格式,方便旧项目迁移。
    支持定时自动导入OpenApi (Swagger)、apiDoc、Apifox格式数据。
    (1)直接将postman接口同步导入Apifox

    (2)像swagger一样生成API文档

    3)生成时下最流行的markdown文件,牛逼

    10、团队协作
    • 接口数据云端同步,实时更新。
    • 成熟的团队/项目权限管理,支持管理员、普通成员、只读成员等角色设置,满足各类企业的需求。



    四、最佳实践
    前端(或后端):在 Apifox 上定好接口文档初稿。
    前后端:一起评审、完善接口文档,定好接口用例。
    前端:使用系统根据接口文档自动生成的 Mock 数据进入开发,无需手写 mock 规则。
    后端:使用接口用例 调试开发中接口,只要所有接口用例调试通过,接口就开发完成了。如开发过中接口有变化,调试的时候就自动更新了文档,零成本的保障了接口维护的及时性。
    后端:每次调试完一个功能就保存为一个接口用例。
    测试人员:直接使用接口用例测试接口。
    所有接口开发完成后,测试人员(也可以是后端)使用集合测试功能进行多接口集成测试,完整测试整个接口调用流程。
    前后端 都开发完,前端从Mock 数据切换到正式数据,联调通常都会非常顺利,因为前后端双方都完全遵守了接口定义的规范。


    五、后续功能规划
    接口性能测试支持(类似 JMeter);
    支持插件市场,可以自己开发插件;
    开放 Apifox API,允许开发者通过 API 调用 Apifox 的功能;
    支持更多接口协议,如GraphQL、gRPC、websocket等;
    支持离线使用,项目可选择在线同步(团队协作)还是仅本地存储(单机离线使用);


    六、Apifox 下载地址
    介绍了Apifox这么多实用的功能,用上了才是真福利!
    软件完全免费,堪称国产良心,有兴趣有需求的小伙伴,可以去官网:www.apifox.cn了解详情









    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 10:06 , Processed in 0.065447 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表