YAPI 重点功能使用介绍

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)

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值