1. 背景

作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman 做的确实非常出色。

但是在整个软件开发过程中,接口调试只是其中的一部分,还有很多事情 Postman 是无法完成的,或者无法高效完成,比如:接口文档定义、Mock 数据、接口自动化测试等等。

今天给大家推荐的一款神器: Apifox,它是集:接口文档管理接口调试Mock、**接口自动化测试于一体的。有的读者乍一看,会觉得和YAPI**有点类似,但两者在功能特色上,只能说是各有千秋的。

细心的读者,会发现文章,正文干货还没有开始,就已经为大家推荐了三款效率神器: Apifox、Postwoman、YAPI。

2. 聊一聊接口管理的现状

对于接口管理的现状来说,目前行业大部分采取的解决方案有如下几种:

  • 使用 Swagger 管理接口文档。

  • 使用 Postman 调试接口。

  • 使用 RAP或Easy Mock来进行 Mock 数据。

  • 使用 JMeter 做接口自动化测试。

上述的接口管理手段,咋一看,貌似没有什么问题,但仔细分析,不难发现,当中存在的问题还真不少,比如要维护不同工具,并且这些工具之间数据一致性非常困难、非常低效。这里不仅仅是工作量的问题,更大的问题是多个系统之间数据不一致,导致协作低效,频繁出问题,开发人员、测试人员痛苦不堪。

设想一下这样的一个协作流程:

  1. 开发人员在 Swagger 定义好文档后,接口调试的时候还需要去 Postman 再定义一遍。
  2. 前端开发 Mock 数据的时候又要去 RAP 或Easy Mock定义一遍,手动设置好 Mock 规则。
  3. 测试人员需要去 JMeter 定义一遍。
  4. 前端根据 RAP 或Easy Mock定义 Mock 出来的数据开发完,后端根据 Swagger 定义的接口文档开发完,各自测试测试通过了,本以为可以马上上线,结果一对接发现各种问题:原来开发过程中接口变更,只修改了 Swagger,但是没有及时同步修改 RAP 或Easy Mock。
  5. 同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不一致。
  6. 时间久了,各种不一致会越来越严重。

3. Apifor介绍

官方对Apifor定位,Apifox = Postman + Swagger + Mock + JMeter,如下图所示

Apifox目标是通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!

官方地址:https://www.apifox.cn/#

概括来讲,Apifox常用 功能分为四类功能:

  1. 接口文档定义功能:Apifox 遵循 OpenApi 3.0 (原Swagger)、JSON Schema 规范的同时,提供了非常好用的可视化文档管理功能,零学习成本,非常高效。
  2. 接口调试功能:Postman 有的功能,比如环境变量、预执行脚本、后执行脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且和 Postman 一样高效好用。
  3. 数据 Mock功能:内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。支持添加“期望”,根据请求参数返回不同 mock 数据。最重要的是 Apifox 零配置 即可 Mock 出非常人性化的数据,具体在本文后面介绍。
  4. 接口自动化测试:提供接口集合测试,可以通过选择接口(或接口用例)快速创建测试集。目前接口自动化测试更多功能还在开发中!目标是: JMeter 有的功能基本都会有,并且要更好用。

4. Apifor小试牛刀

接下来,带着大家,来体验一下Apifor的使用。

1、先在官网下载对应系统安装包,进行安装,安装完成后,第一次启动需要先登录。

Ps: 登录前,需要先通过邮箱来注册一个帐号。

2、 登录成功后,Apifox默认给了一些例子,如果看它的界面会发现和Postman界面比较相似。

Ps: 当然也不要被它的外表所欺骗了,还是有别于Postman的。

3、在本地启一个API服务,端口为8000, 在Apifor上,新建一个新的测试环境,如下所示:

4、新建一分类:接口测试,或直接在默认分类上,新建一条接口用例,如下所示

如上图,添加对应的基础信息、配置请求参数等。

5、选择测试环境,点击发送按钮,运行接口测试用例。

看到这里,可能有些读者觉得和Postman功能基本是一样的,不妨接着往下看。

5. Apifor更多特性

1、调试时自动校验数据结构

使用 Apifox 调试接口的时候,系统会根据接口文档里的定义,自动校验返回的数据结构是否正确,无需通过肉识别,也无需手动写断言脚本检测,非常高效!

根据官方的示例可以看出,在运行集合测试时,可以结合自动校验数据结构的功能, 清晰展示出失败用例校验不通过的原因。

2、零配置 Mock 出非常人性化的数据

1、 为上述示例,添加一个mock测试服务,配置如下所示:

按照接口字段数据格式要求,根据mock.js语法,配置保存完毕,运行后,自动生成一个mock服务。

其中,Mock.js语法示例可见:http://mockjs.com/examples.html

可以看出 Apifox 零配置 Mock 出来的数据和真实情况是非常接近的,前端开发可以直接使用,而无需再手动写mock规则。

3、代码自动生成

根据接口模型定义,自动生成各种语言/框架(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的业务代码(如 Model、Controller、单元测试代码等)和接口请求代码。目前 Apifox 支持 130 种语言及框架的代码自动生成。

更重要的是:你可以通过自定义代码模板来生成符合自己团队的架构规范的代码,满足各种个性化的需求。

4、导入、导出

  1. 支持导出 OpenApi (原Swagger)MarkdownHtml 等数据格式,因为可以导出OpenApi格式数据,所以你可以利用 OpenApi (Swagger) 丰富的生态工具完成各种接口相关的事情。
  2. 支持导入 OpenApi (原Swagger)PostmanHARRAP2yapiEolinkerDOCleverApiPost 、Apizza 等数据格,方便迁移旧项目。

6. 小结

虽然Apifox目前有些功能还并不完善,但整的来说,Apifox还是不错的,也为接口开发调试测试提供了一种效率更佳的的解决方案,按照Apifox开发团队后续规划,后续会重加增加接口性能测试能力支持(类似JMeter)、支持离线团队多人协作等特性。

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里免费领取

**

[外链图片转存中…(img-aqzoOnWl-1627022321248)]

[外链图片转存中…(img-F5r6OcGN-1627022321248)]

[外链图片转存中…(img-s6tHNZ1n-1627022321249)]

web开发要学习什么技术,HTML实体字符列表相关推荐

  1. web开发要学习什么技术,前端需要看哪些书

    背景知识 Angular Google 的一名员工 Misko Hevery 当时正在做一个副业项目,旨在简化构建 Web 应用程序的过程.他在 2010 年将解决方案作为开源项目发布,名为 Angu ...

  2. HTML5的web开发,基于Html5技术的WEB开发

    摘 要:HTML是互联网上应用最广泛的语言,得到了业界大力支持,已经成为WEB发展的标准.它强大了对多媒体的支持力度和远程与本地对数据的处理能力,本文对HTML5的新特性进行了总结,分析了该语言在移动 ...

  3. web开发技术和技术分享_2020年将改变Web开发的顶级技术

    web开发技术和技术分享 Web improvement encompasses a gigantic arrangement of rules and procedures each site en ...

  4. Web开发——服务器端应用技术简单比较

    在开发动态网站时,离不开服务器端技术,服务器端技术主要有CGI.ASP.PHP.ASP.NET和JSP. 1.CGI CGI(Common Gateway Interface 通用网关接口)是最早用来 ...

  5. 开课吧:Web开发要学习哪些基础知识?

    今天带来的知识点主要是让大家在学习过程中有一个清晰的思路,如果想在网络后端开发的道路上走得更远,还需要修炼自己的内功,这些基础知识是很重要的. 前端知识 最好能了解一些前端知识(HTML,CSS,Ja ...

  6. HTML实体字符列表,总结到位

    前言 每年毕业季都能听到很多报道说大学毕业生找工作难,以前看到这类新闻一直觉得无所谓.因为总觉得离我还早,但今年轮到我毕业了,才发现不幸终于降临到我的头上. 简历 首先肯定是要准备一份自己的简历,简历 ...

  7. Java web开发及框架技术 资料下载

    相关板块热门下载 精通hibernate:java对象持久化技术详解.part01.rar <struts web设计与开发大全>.rar 精通hibernate:java对象持久化技术详 ...

  8. javaweb开发后端常用技术_Java Web开发后端常用技术汇总

    技术名称及官网Spring Framework Spring容器 http://projects.spring.io/spring-framework/SpringMVC Spring MVC框架 h ...

  9. 对于刚刚入门Java开发要学习什么技术

    理解面向对象编程 因为Java是面向对象的,所以如果不解释这个概念的含义,就不能完整地讨论该语言.在面向对象编程(OOP)获得动力之前,占主导地位的软件设计方法是过程编程,它本质上是计算机的一系列指令 ...

最新文章

  1. 【MFC系列-第12天】Windows系统对话框
  2. snipaste截图软件滚动截图_截图工具的逆袭,Snipaste 还可以这么玩
  3. Cortex-M3寄存器组
  4. 阿里AI解锁车场景:达摩院技术输出,天猫精灵进驻奔驰、奥迪和沃尔沃
  5. 190704每日一句
  6. XXXX大学课程设计说明书格式规范
  7. Win10第二天开机后默认的pdf阅读器被自动修改成Microsoft Edge,三种解决办法(第三种办法适合本机情况,摸索半个月)
  8. 嵌入式学习代码总结(二)
  9. CSDN修改专栏名字
  10. Minecraft 1.12.2模组开发(十八) 自定义附魔
  11. import keras时遇到的错误 TypeError: Descriptors cannot not be created directly. If this call came from a _
  12. android入门书籍!微信小程序趋势及前景,安卓系列学习进阶视频
  13. win10电脑用蓝牙实现文件传输,安卓手机通过蓝牙将文件传送到电脑
  14. 计算机网络笔记(收藏版)
  15. python股票成交明细_Python股票成交价格-买卖额分布图(三)
  16. 记事本TXT中文默认保存的ANSI格式文件乱码,一些软件菜单乱码,右键菜单某些乱码...
  17. python购物车简单小程序
  18. ABP zero 4.2 发布
  19. (一)shell中常用的基础命令
  20. 小米盒子3增强版android tv,2017小米盒子3增强版免费看海量热门大片软件推荐

热门文章

  1. 儿童学习桌好吗?与普通书桌相比怎么样
  2. c语言scanf()的返回值
  3. Cacti--cacti数据库详解
  4. Direct3D 12 尝鲜(五): SDK 更新
  5. Apache安装与基本配置
  6. nth-child 与 nth-of-type
  7. CSS中cellpadding和cellspacing的代替方法
  8. 双链路是什么意思_实时备份什么意思
  9. 软件缺陷常见问题总结(软件测试入门速成篇)
  10. tensorflow之constant()函数