接口测试自动化后起之秀-YApi接口管理平台

前言

众多接口管理工具如雨后春笋,让人欣慰的是,有许多优秀作品来自国内,包含Yapi和rap,看着中文的官网,华丽的汉语,不禁让人大快朵颐,暗自称爽。当然这也就带来另一个弊端,使用基数少,参考资料少,我们想学习使用方法,只能依赖官方文档,也算是祸福相倚了。本文将带您走进Yapi的世界,让您体验一回小清新的接口管理工具,你将阅读到以下内容:

  • YApi有什么用
  • yapi的地位如何
  • 进入YApi
  • 清晰项目布局
  • 如何开始接口
  • 期望Mock
  • 结束语

YApi有什么用

根据统计,市面上互联网项目超过10亿,保守统计涉及的API数量有100亿,但是很多API的质量堪忧,因为与API相关的文档,调试,测试和数据Mock在工作中效率非常低。

我们急需一款产品,它具有接口管理功能,提供调试,文档管理和测试功能,YApi横空出世,这是一个接口管理平台,可以帮助开发者创建、发布和维护API,YApi
还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

YApi的安装并不是点点点,你需要下载mongoDB数据库,然后才可以部署,由于文章篇幅有限,就不展示具体安装过程了。

YApi的地位如何

YApi适合公司业务比较复杂,尤其是跨部门协作的情况下使用。和它类似的工具还有rap,swagger,moco。rap也具有图形界面,但火爆程度逐渐不如yapi,而swagger呢,是一个超级强大的工具,它的野心已经不满足于接口管理,后续课程会讲到它。moco在13年获取Duke选择奖,moco的使用也很简单,维护一份json文件,然后利用命令运行。

在这么多工具面前,YApi能够脱颖而出实属不易,在实际工作中,YApi和swagger属于两个流派,前者易于管理,有着友好的UI界面,但生态弱,依赖人工和UI维护,而swagger呢,是一个十足的野心家,已经提供api全生命周期的解决方案,它已经不是工具,已然成为了标准。

进入YApi

进入YApi后,这页面,这UI,确实小清新,不愧是后起之秀,这里简单进行介绍,它主要有下面四个部分:

  • 首页头部展示了当前所在的位置、搜索框、新建项目、查看文档和用户信息。
  • 首页左侧展示分组信息,“分组”是“项目”的集合,只有超级管理员可以管理分组。
  • 首页右侧是分组下的项目和成员列表,点击左侧的某个分组,右侧会出现该分组下的项目和成员信息。
  • 点击项目右上角的星星即可关注项目,关注的项目可以在“我的关注”页面查看。

其实不光是首页UI,他的项目UI也令人咋舌,在UI上这么清新的国内平台已经非常少见。

清晰项目布局

点击一个项目,进入项目页,果然还是一目了然,项目页展示了属于该项目的全部接口,并提供项目、接口的全部操作。

  • 项目页左侧的 “接口列表” 展示了该项目下的所有接口,右侧默认显示该项目下所有接口的列表。
  • 点击左侧的某个接口,右侧会出现“预览”、“编辑”和“运行”。
  • 点击左侧的 “测试集合” 使用测试集功能。
  • 点击二级导航的“设置”,项目组长即可编辑项目信息和管理成员列表。
  • 点击二级导航的“动态”,即可查看项目的操作日志。

如何开始接口

有的读者已经迫不及待了!下面用一个简单例子来入门YApi,在项目里新建接口,这时会弹出一个窗口,几个选项都很清楚,接口路径是什么?这是方便前端调用后端,而设置的接口路径:

点击新添加的接口,右侧可以看到接口的预览信息,点击右侧的编辑进入编辑面板。在该面板中你可以看到接口的基本信息(接口名称、分类、路径),除此以外,你还可以完善以下接口信息:

  • 接口路径:可以更改 HTTP 请求方式,并且支持 restful 动态路由,例如 /api/{id}/{name}, id和name是动态参数
  • 状态:用于标识接口是否开发完成。
  • Tag:用于标识接口tag信息(v1.3.23+),在接口list页可以根据tag过滤接口

 我们接着往下看,你会看到请求参数,可以设置请求时需要哪些参数,它们可以是必需,也可以是不必须:

  • Query参数:接口 url 的查询字符串,点击『添加Query参数』按钮来添加参数,可以通过拖动来交换参数位置
  • Headers: http 请求头字段,在 req_body 形式是 form 格式下会在 header 中自动生成 'Content-Type application/x-www-form-urlencoded',其他3种格式也会自动生成不同 header

请求参数后面是返回数据,它分为 json & raw 两种形式。基于 mockjs 和
json5,这是一种使用注释的方式写参数说明,如果你看不懂,请注意下面的链接,这是官网对Mock的介绍。

Mock介绍:https://hellosean1025.github.io/yapi/documents/mock.html

上面只是对接口的设置,但我们经常遇到一些情况,比如我想根据不同的请求参数、IP返回不同的 HTTP Code、HTTP 头和 JSON
数据,这么复杂的情况,接口设置是无法做到的,期望Mock登场!它说:“你们靠边站,我可以做到!”

期望Mock

期望Mock可以根据设置的请求过滤规则,返回期望数据,这是一个高端玩家,要想使用它,你要先进入接口详情页,然后点击高级Mock。

点击添加期望,填写过滤规则以及期望返回数据,如下图这样,最后点击确定。

我们在浏览器里测试一下,发送符合规则的请求:

结束语

就像文中说的那样,在这么多工具面前,YApi能够脱颖而出实属不易,在实际工作中,YApi和swagger属于两个流派,前者易于管理,有着友好的UI界面,但生态弱,依赖人工和UI维护,而swagger呢,是一个十足的野心家,已经提供api全生命周期的解决方案,它已经不是工具,已然成为了标准。YApi要走的路还很长,它有自己劲敌:swagger。由于篇幅有限,本篇文章并没有详细讲解YApi,更多YApi知识点静待更新吧。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/448254.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs的卸载和nvm安装

由于项目需求,需要多版本控制的nodejs,所以要把原来的nodejs卸载干净,然后再装nvm 常见问题 1.在安装nvm的时候没有卸载node,导致使用nvm安装完之后,node和npm都不可用。 2.在第一次使用nvm安装node后,要…

从零开始使用最新版Paddle【PaddleOCR系列】——第二部分:自建数据集 + 模型微调训练

目录 一、自建数据集 1.官方数据集格式参考 2.自建数据集txt文件编写代码 3.数据集检验 二、模型训练 1.模型配置yaml文件 2.命令行指令训练 在上一篇文章中,构建好了paddleOCR 运行必需的环境,并通过在线下载的方式,使用官方训练好的模型进…

深入理解 JDK 的 Optional 类

深入理解 JDK 的 Optional 类 深入理解 JDK 的 Optional 类1. 什么是 Optional?1.1 主要构造方法示例 2. Optional 的常用方法2.1 判断值是否存在示例2.2 获取值示例2.3 进行操作示例 3. 使用场景3.1 避免 null 值示例3.2 提高代码可读性3.3 与流结合示例 4. 注意事…

中航资本:股市融资50万一天的利息是多少?融资一般多久归还?

融资官方利率是8.35%,实际上大部分券商融资利息在6%~8%左右,详细利率因券商及投资者状况而异。少部分券商可提供低至5%,乃至更低的优惠利率。 该利息按天然日核算,融资利息融资金额融资年利率实际使用资金的天然日天数/360。 假…

基于深度学习的细粒度图像分析综述【翻译】

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 基础信息0 摘要1 INTRODUCTION2 识别与检索 RECOGNITION VS. RETRIEVAL3 问题和…

React01 开发环境搭建

React 开发环境搭建 一、创建 React 项目二、项目精简 一、创建 React 项目 执行下述命令创建 react 项目 blu-react-basis npx create-react-app blu-react-basis项目目录结构如下: 执行下述命令启动项目 npm run start启动效果如下: 二、项目精简 …

Vue.js 错误异常: Component template should contain exactly one root element.

一、错误异常: Errors compiling template: Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead. 二、原因 组件模板应该只包含一个根元素 查看vue代码,发…

OpenCV-人脸检测

文章目录 一、人脸检测流程二、关键方法三、代码示例四、注意事项 OpenCV是一个开源的计算机视觉和机器学习软件库,它提供了多种人脸检测方法,以下是对OpenCV人脸检测的详细介绍: 一、人脸检测流程 人脸检测是识别图像中人脸位置的过程&…

【C语言】数据输出格式控制

数据的输出格式修饰 常用两种&#xff1a; 整型中&#xff0c;输出数据左对齐、右对齐、占m位、不足m位前补0。浮点型中&#xff0c;默认通过四舍五入保留小数点后6位&#xff0c;通过参数设置保留小数点后n位。 #include <stdio.h> #define PI 3.14159 /* 功能&#x…

2024怎么选择网站建设公司?2024靠谱建站公司推荐TOP3

说起怎么挑个靠谱的网站建设公司啊&#xff0c;我觉得有这么几点挺关键的&#xff0c;咱们可以聊聊&#xff1a; 首先啊&#xff0c;你得瞅瞅这公司啥背景&#xff0c;成立了多久了&#xff0c;团队大不大&#xff0c;都服务过哪些客户&#xff0c;有啥拿得出手的成功案例没。…

如何判断通风天窗的优劣

通风天窗是否优质直接决定天窗的通风采光效果&#xff0c;影响厂房的空气质量。判断通风天窗的优劣主要从天窗使用材料、防水密封性能、通风性能、安装与售后服务等多方面出发。‌ ‌通风天窗使用材料是判断通风天窗优劣的重要因素之一。优质的通风天窗应采用耐候性强、坚固耐用…

ESP32-S3无法下载且报错的原因

该文将作为ESP32-S3下载报错记录&#xff0c;将持续更新 ARDUINO-IDE: Sketch uses 289393 bytes (22%) of program storage space. Maximum is 1310720 bytes. Global variables use 18408 bytes (5%) of dynamic memory, leaving 309272 bytes for local variables. Maximu…

多态常见面试问题

1、什么是多态&#xff1f; 多态&#xff08;Polymorphism&#xff09;是面向对象编程中的一个重要概念&#xff0c;它允许同一个接口表现出不同的行为。在C中&#xff0c;多态性主要通过虚函数来实现&#xff0c;分为编译时多态&#xff08;静态多态&#xff09;和运行时多态…

Java项目:160 基于springboot物流管理系统(PPT+论文+说明文档)

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 物流管理系统有管理员和用户两个角色。 ​ 管理员功能有个人中心&#xff0c;用户管理&#xff0c;车辆信息管理&#xff0c;公告信息管理&#xff…

windows以zip方式安装mysql8

1.下载安装包 mysql官网&#xff0c;下载后放到D:\Program Files\mysql-8.0.40-winx64 2.安装 cmd进入D:\Program Files\mysql-8.0.40-winx64\bin &#xff08;1&#xff09;在路径下新建my.ini配置文件 [mysql] # 设置mysql客户端默认字符集 default-character-setutf8 …

测网速小程序,纯前端

搜索&#xff1a;证寸照制作 源码介绍: 测网速小程序源码&#xff0c;是一款纯前端无需服务器的测网速小程序&#xff0c;依赖百度开发者中心js接口&#xff0c;真正的永久使用的小工具源码&#xff0c;很实用&#xff0c;可以单独运行&#xff0c;测网速很流畅~ 合法域名: ht…

OPC Router快速打通设备层与influxDB数据通讯

随着时代演化&#xff0c;数据量呈几何倍数增加的情况下出现了时序数据库。时序数据库是基于时间进行存储的数据库&#xff0c;每一条数据中都有一个时间戳&#xff0c;这种数据库特别适合存储那些随着时间变化的数据&#xff0c;通过一些工具处理后&#xff0c;能够分析出数据…

智绘城市地图:使用百度地图 API 实现智能定位

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

SQL优化 TABLE ACCESS BY INDEX ROWID 索引回表

问题&#xff1a; SQL语句运行时间主要消耗在TABLE ACCESS BY INDEX ROWID 索引回表扫描上&#xff0c;怎么优化&#xff1f; 模拟测试&#xff1a; 1.创建测试表 SYSdb11g> create table t1015 as select * from dba_objects;Table created.SYSdb11g> create index …

WPF -- LiveCharts的使用和源码

LiveCharts 是一个开源的 .NET 图表库&#xff0c;特别适用于 WPF、WinForms 和其他 .NET 平台。它提供了丰富的图表类型和功能&#xff0c;使开发者能够轻松地在应用程序中创建动态和交互式图表。下面我将使用WPF平台创建一个测试实例。 一、LiveCharts的安装和使用 1.安装N…