yapi自动化测试平台操作手册

1、前置条件

1.1 yapi自动化平台已经搭建完成

1.2 安装浏览器插件

  1. 使用chrome浏览器
  2. 浏览器切换到开发者模式
  3. 下载cross-request源码zip包,解压到本地
    链接:https://pan.baidu.com/s/1ePcLk8ZrEmAye_55U7gI1Q
    提取码:uxq5
  4. 浏览器-扩展程序中,点击“加载已解压的扩展程序”,选择刚刚解压的文件夹
  5. 重启浏览器

2、开始使用

2.1 用户管理

  1. 注册
    打开首页,切换到注册选项卡,完成注册即可
  2. 登录
    打开首页,登录即可
  3. 成员管理
    管理成员,有两个地方,分别是“分组-成员管理”、“项目-成员管理”
    功能集成关系
    分组-成员列表添加成员,输入用户名,选择权限,确定即可
    项目-成员管理添加成员,输入用户名,选择权限,确定即可
    批量导入成员,选择要复制成员信息的项目,确定即可
    项目会继承所在分组的成员信息
  4. 个人设置
    点击右上角的“头像-个人中心”,可进入个人设置页面
    该页面可以修改头像、用户名、邮箱、密码

2.2 空间

yapi空间分为两种,个人空间、自定义空间

空间类型功能区别
个人空间可以添加项目、添加接口、添加用例、执行用例个人空间是自己的空间,别人看不到
自定义空间可以添加项目、添加接口、添加用例、执行用例、添加成员自定义空间可以添加其他人员跟你协作

2.3 项目

以自定义空间添加的项目为例
项目主要包含以下几部分:接口、动态、数据管理、成员管理、设置、wiki

模块功能
接口管理接口、用例
动态显示项目动态
数据管理提供接口导入功能,支持posman、HAR、swagger、json
数据管理提供接口导出功能,支持html、markdown、json、swaggerjson
成员管理管理协作人员
设置项目配置,管理项目基本信息
环境配置,可以设置多个环境,如pre、tst、pro等,可以自定义全局变量、请求头、cookie
请求配置,可以添加前置处理脚本、后置处理脚本(均为js脚本)
token配置,提供给第三方的接口和token
全局mock脚本
wikiwiki

2.4 接口

包含两个模块:接口列表、测试集合

2.4.1 接口管理

接口管理主要是用来维护接口的,并不是测试用例,这一点需要理解清楚,更多的是当做swagger来用
可以添加分类,如:登录、注册、下单

接口管理包含以下几个模块:预览、编辑、运行、高级mock

接下来着重介绍“编辑”模块:

  1. 添加接口时,只需要填写path,域名在“环境配置”维护,方便多环境切换
  2. 请求类型,基本支持所有http请求类型:post、get、put、delete、head、options、patch
  3. 请求参数设置,根据不同请求类型,显示所需字段(query、headers、body)
  4. body,支持多种格式(form、json、file、raw),form、json支持导入 query,支持key:value格式导入
  5. headers,没啥好说的 返回数据设置 支持json、raw格式 只是实例而已
  6. 备注

接下来着重介绍“运行”模块:

  1. 最重要的功能:在运行界面,填写完接口内容之后,点击“保存”,可以保存为测试用例,填写的参数值可以带过去,很方便!
  2. body:在“编辑”tab页填写的默认值,不会带过来,bug!!!
  3. body:参数编辑,可以使用mock、变量、全局变量,这里设置了,保存时可以带到测试用例中,很方便!
  4. 高级mock,这个还不太了解该怎么使用。。。
  5. 参数值填写完成后,点击“发送”,可以在response查看接口调用是否成功

2.4.2 测试集合

该模块是我们重点使用的模块,重点关注
包含测试集合管理(克隆集合、导入接口、编辑集合、删除)、用例管理(克隆用例、编辑用例、删除用例)

2.4.2.1 参数化

参数化实现有以下几种方式

  1. mock,通过mock塑造参数值,如:
    {{ @integer | substr:1,11 }}11位整数,从第二位开始取(第一位可能是负号)
    {{ @timestamp }} 时间戳
    
  2. 全局变量,通过环境配置里的全局变量替代参数值,如:
    {{ global.password }}
    
  3. 前置脚本,通过设置-请求配置中的前置处理脚本替代参数值,如:
    //只修改编号为17的用例  -- 换个角度解决了修改一个参数的值,所有用例都修改了的问题
    if(context.caseId == 17){
    	context.requestBody.type=11;  //实现了对请求参数的赋值拼接
    	global.appId = 8;  //这行这么用不生效。。。全局变量如果可以再pre-request脚本中重新赋值,就完美了
    }
    
  4. 关联,引用之前用的请求数据或者返回数据,如
    {{ $.17.body.message }} //id为17的用例的返回里的message字段的值
    {{ $.17.params.type }} //id为17的用例的请求里的type字段的值
    //可以直接选择,不需要自己生写
    
2.4.2.2 关联

参照上表,具体如何选择,见下图
在这里插入图片描述

2.4.2.3 断言

没有预期结果的用例不是完整用例,没有断言的自动化测试完全没有意义!
在用例编辑页面,最下方“Test”选项卡,选择“开启”,填写断言即可,如下
在这里插入图片描述


来联系我吧
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值