YAPI 重点功能使用介绍

1 项目配置

建立项目并填写基本信息



成员配置


数据导入(从其它API管理工具迁移接口文档)


环境配置


与swagger自动同步(已经使用了swagger的项目)

钉钉通知配置

2. 接口调试

接口登陆验证

在实际使用中,我们需要调试接口是否正常工作(通达、正确),但是接口都需要登陆才能请求,这种情况下,我们可以使用全局请求配置功能,将登陆后获取到的token 动态添加到每一个接口的requestHeader 中去:

定时自动刷新token

此功能需要安装【接口自动鉴权】插件(yapi-plugin-interface-oauth2-token)

在项目设置面板找到【接口自动鉴权】插件,从左侧选择需要配置自动刷新token的环境,并填写相关信息:

点击保存,然后去环境中配置通用header:

当设定的间隔时间到了之后,插件就会自动请求获取TOKEN接口,将结果中返回的TOKEN值拿到,替换环境配置中设置的Header中的token字段的值。

token的值需要手动登陆系统一次获得。

参数传递

有时候,我们需要一系列自动化测试,比如请求列表接口后再请求列表返回的某条数据的详情,这时候详情页接口需要的ID就需要从列表页接口的返回中获取。

此时可以在测试集合里的详情页接口里配置某项参数为动态参数,该参数将读取列表接口返回值中的数据。

消息通知和接口动态

消息通知分为系统本身的通知和第三方插件实现的通知,本身的通知,在自己所在小组的接口发生变化时会通过系统发送到你的账号的通知列表里,但是一般情况下,开发人员无法实时去检查自己的消息列表,所以主要还是使用第三方通知。

第三方通知需要安装插件,目前发现有两个插件:

  • yapi-plugin-dingding: 这个可以将接口变动推送到钉钉机器人。
  • yapi-plugin-notifier: 这个可以将接口变动推送到钉钉机器人和企业微信等,并且定制化更高,推荐使用这个。

安装插件后,当接口发生任何变动,系统都会将变动推送到钉钉上,点击钉钉上的链接可以直接跳转到接口文档页面。

当然,具体哪些地方发生了变化,在接口文档页面无法体现,就需要进入到接口动态面板中查看改动详情。

3 mock相关

在YAPI中,有很多地方可以进行mock设置

全局mock脚本

全局Mock脚本允许对所有接口的返回做统一响应处理,即不管请求什么接口的mock数据,最终都会经过全局mock处理一遍。

已上图为例,YAPI的所有mock请求的响应数据都位于 mockJson 对象中,我们在全局mock脚本中将这个对象的code属性改为502后,我们不管请求什么接口的mock数据,返回的mock数据中的code属性都会是502。

当然,除了可以改响应数据外,还可以全局修改请求和响应的其它一些对象:

请求

  • header 请求的 HTTP 头
  • params 请求参数,包括 Body、Query 中所有参数
  • cookie 请求带的 Cookies

响应

  • mockJson 接口定义的响应数据 Mock 模板

  • resHeader 响应的 HTTP 头

  • httpCode 响应的 HTTP 状态码

  • delay Mock 响应延时,单位为 ms

3.4.2.2 接口Mock期望

接口的高级Mock功能里,可以添加mock期望,当我们期望某个请求参数为特定值,则返回特定的mock数据时,就可以添加mock期望。

这样,当YAPI检测到该接口符合设定的要求时,就会返回我们事先填写好的期望数据。

接口Mock 脚本

接口mock脚本使用方法和全局mock脚本一样,只不过它针对的是单个接口,而非整个项目。

字段Mock配置

在接口编辑面板,请求参数和返回数据的每一个字段,都可以为其配置mock规则,这样,当我们请求mock数据时,该字段的值就会符合我们设定的规则。

上述四种 mock 方式,如果针对同一个字段进行配置,那么它们的优先级是: 接口mock期望 > 接口mock脚本 > 全局mock脚本 > 字段mock配置。

mock 写法介绍

mock写法-基础

  • 中文标题: @ctitle(minlength,maxlength)
  • 中文人名: @cname
  • 中文句子: @csentence(minlength, maxlength)
  • 中文段落: @cparagraph
  • 邮箱: @email
  • 日期: @date(format)
  • 时间:@time(format)
  • 日期 + 时间: @datetime(format)
  • 当前时间:@now(unit?, format)
  • 整数:@integer(min,max)
  • 小数:@float
  • 布尔:@boolean
  • 省份:@province
  • 城市:@city
  • 县乡:@county
  • URL: @url
  • 图片: @image(size, background, foreground, format, text)

mock写法进阶

@pick(arr):从给定数组中随机选择一个元素

比如,需要模拟电话号码:

@pick(['135', '138', '181', '157'])@integer(10000000,99999999)

YAPI 重点功能使用介绍相关推荐

  1. linux中bash的功能主要有,Linux系统中的Bash功能的介绍

    今天小编要跟大家分享的文章是关于Linux系统中的Bash功能的介绍.一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无 ...

  2. 全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍

    全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍 大家好,欢迎观看蛙色VR官方--后台使用系列课程! 一.热点功能概览 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生 ...

  3. 年度报告|Hologres重点功能年终大盘点

    1月7日,由阿里云实时数仓Hologres和开发者社区共同举行了实时数仓年度发布会.在发布会上,来自阿里云的资深技术专家果贝从阿里的核心场景出发,深度解读了实时数仓技术发展的新趋势:一站式.在线化.敏 ...

  4. 怎么开发一对一直播平台系统?一对一直播源码重点功能

    一对一直播平台系统是直播行业发展至今,作为一种全新的"直播+社交"形式出现在人们视野里的软件系统.那么一对一直播平台系统该如何开发呢?与传统的直播平台开发又有哪些不同呢? 一对一直 ...

  5. 高性能ORM框架XLinq功能详细介绍

    之前简单介绍了XLinq的一些功能,有很多功能都没有提到,现在给XLinq加了一些功能,这次把所有功能都介绍一遍. 设计目标 易用性 在使用一个框架的时候 应该没几个人会喜欢写一大堆的配置文件吧 也应 ...

  6. N点虚拟主机管理系统(For Windows2003/2008)功能及介绍

    N点虚拟主机管理系统是针对销售 主机.邮局.数据库等产品时效率低.管理难等问题而自主研发的集产品自动化开通.管理.续费.升级等功能为一体的软件系统.通过一年多的改进与运作,软件已具有功能强大.安全稳定 ...

  7. 06 ansible剧本功能实践介绍

    以下例子的配置文件 [rsync:children] rsync_server rsync_client[rsync_server] 192.168.1.5[rsync_client] 192.168 ...

  8. Excel的裁剪(trimming)(トリミング)功能使用介绍

    Excel的裁剪(trimming)(トリミング)功能使用介绍 ■前言 当一个画面很长时,我们在做文档时,我们如果把画面全部截取出来, 会占用很多篇幅,同时还不能突出重点. 那么,如何能解决这个问题呢 ...

  9. 同城服务小程序开发的好处和功能方案介绍

    同城服务小程序的好处就是整合本地信息商家服务等资源,为本地用户提供多样化的服务,在移动互联网时代,手机已经是人不必不可少的生活工具了,对中小城市及区县地区来说同样是如此.那么搭建同城小程序需要具备哪些 ...

  10. 【MicroPython ESP32】I2C功能使用介绍

    [MicroPython ESP32]I2C功能使用介绍 本示例基于Thonny平台开发. 参考官方文档:http://docs.micropython.org/en/latest/esp32/qui ...

最新文章

  1. jsp自定义标签学习
  2. 关于 DOM 操作的几个类型
  3. Python2和Python3中raise Exception
  4. php发请求的方法,php发送http请求的几种方法
  5. ajax不利于seo_利于探索移动选项的界面
  6. 如何解决Mybatis里mapper文件中关于不能用大于小于号
  7. 苹果 Siri 被曝涉嫌泄露用户隐私;中国联通回应 5G 入网问题;PHP 7.4 beta 1 发布 | 极客头条...
  8. 错误: 非法字符: ‘\ufeff‘ 解决方案
  9. MyBatis框架generatorSqlmapCustom自动生成及下载方法
  10. 视频教程-SAP快速入门-其他
  11. 【自动驾驶】PurePursuit实现轨迹跟踪
  12. Mac 安装Gradle教程
  13. UVa 10361 自动作诗机
  14. Gnome 个人目录下中文路径转英文路径
  15. 大龄程序员的成长之路
  16. 北京计算机暑期培训,北京暑期计算机培训心得体会.doc
  17. 拈一朵不悔的缘识之花,为你静候流年
  18. c语言产生瑞利分布随机数,瑞利分布的随机数
  19. 百度文字识别(OCR)服务-傻瓜式
  20. Cynthia问题、任务、缺陷管理系统

热门文章

  1. 软件文档的类型有哪些?
  2. 海康威视前端实习生面试
  3. 固定时间收敛的控制器设计(基础知识)
  4. 谷歌浏览器提示应用程序无法启动
  5. pdf关键字高亮 java_Java 查找、高亮PDF文本
  6. Kafka的数据结构与算法
  7. win10专业版无法安装更新解决方法
  8. Java生成随机数的公式
  9. 对“努力就能成功”的一点思考
  10. 弘辽科技:DSR的含义是?怎么提升DSR评分?