Yapi平台之Mock服务

2019-07-23  本文已影响0人  LittleJessy

一.Mock介绍

YApi的 Mock 功能可以根据用户的输入接口信息如协议、URL、接口名、请求头、请求参数、返回数据(返回数据)生成 Mock 接口,这些接口会自动生成模拟数据,创建者可以自由构造需要的数据。mock模拟数据基于mock.js。

Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:

l 根据数据模板生成模拟数据

l 模拟 Ajax 请求,生成并返回模拟数据

l 基于 HTML 模板生成模拟数据

二.简单mock一下

进入项目,选择并点击某接口

  1. 【预览】中可看到该接口的mock地址(mock地址解析:YApi平台网址 + mock + 您的项目id + 接口实际请求path):


    image.png
  2. 【编辑】中请求参数,返回参数可以编辑mock数据,可以写死或者使用mock占位符:


    image.png

    可以预览返回数据效果(其中的mock占位符被随机数据替换):


    image.png
  3. 【运行】页面可以看到里面已经为我们创建好了随机请求参数:


    image.png

    点击POST后面的下拉框添加环境配置,将mock地址配置到环境中


    image.png
    image.png
  4. 选择配置的mock环境,点击【发送】


    image.png

    此时的返回数据中的值就是接口编辑页面中设置的mock数据,其中mock占位符被随机数替代。

三.高级Mock

很多时候需要根据不同的请求参数返回不同的响应数据,可以使用高级Mock中的期望或自定义脚本来实现。
以新网项目中的联合登陆接口为例。后台逻辑为如果用户已开户则返回数据中"openAccount": true,如果未开户"openAccount": false。
接口的输入参数有:mobile,idCard,userRealName。可以设置输入userRealName=’哈哈’时为已开户条件,返回"openAccount": true。为其他值时均为未开户的情况,返回"openAccount": false。下面分别用期望和脚本两种方式实现:

  1. 期望
    基本信息
  1. 自定义脚本
    请求

四.Mock服务实际演练

还是以新网银行项目为例,结合app中的H5页面来演示一下。

  1. 修改nginx配置
    148服务,vim /usr/local/nginx/conf/conf.d/test-callback.jianlc.com443.conf
    修改/xw的proxy_pass为mock服务url。(原配置为:http://10.103.27.56:9302/)

    image.png
    配置完成后,进入nginx的sbin目录,执行./nginx -s reload 重新加载配置文件。
  2. 此时即可登陆app,点击季得利产品进入已投资或未投资首页,即可看到页面上显示返回的mock数据,下面是已投资首页展示:


    image.png
  3. 点击【存入/取出】按钮,跳转联合登陆页面,输入姓名和身份证号,点击【下一步】区分三种情况:
    (1) 当前用户已开户,跳转到指定链接;
    (2) 输入另外一个已开户用户信息,提示报错信息;
    (3) 未开户,跳转到开户页面
    根据不同情况编辑三种期望,实现不同逻辑跳转:


    image.png

    页面根据不同的参数请求响应,结果如下:
    (1)第一种情况,mock数据如下:


    image.png
    前端操作:
    image.png
    image.png
    (2)第二种情况,mock数据如下:
    image.png
    前端操作:
    image.png
    image.png

    (3)第三种情况,mock数据如下:


    image.png
    前端操作如下:
    image.png
    image.png
  4. 其他接口同样根据不同参数配置不同响应,不再详述,下面mock整个开户流程(正常流程):


    image.png
    image.png
    image.png

参考:
yapi官网教程:<u>https://hellosean1025.github.io/yapi/documents/index.html</u>
Mock.js的详细内容参考:<u>http://mockjs.com/0.1/#natural</u>

上一篇 下一篇

猜你喜欢

热点阅读