目录
1、前置条件
1.1 yapi自动化平台已经搭建完成
1.2 安装浏览器插件
- 使用chrome浏览器
- 浏览器切换到开发者模式
- 下载cross-request源码zip包,解压到本地
链接:https://pan.baidu.com/s/1ePcLk8ZrEmAye_55U7gI1Q
提取码:uxq5 - 浏览器-扩展程序中,点击“加载已解压的扩展程序”,选择刚刚解压的文件夹
- 重启浏览器
2、开始使用
2.1 用户管理
- 注册
打开首页,切换到注册选项卡,完成注册即可 - 登录
打开首页,登录即可 - 成员管理
管理成员,有两个地方,分别是“分组-成员管理”、“项目-成员管理”录 功能 集成关系 分组-成员列表 添加成员,输入用户名,选择权限,确定即可 项目-成员管理 添加成员,输入用户名,选择权限,确定即可
批量导入成员,选择要复制成员信息的项目,确定即可项目会继承所在分组的成员信息 - 个人设置
点击右上角的“头像-个人中心”,可进入个人设置页面
该页面可以修改头像、用户名、邮箱、密码
2.2 空间
yapi空间分为两种,个人空间、自定义空间
空间类型 | 功能 | 区别 |
---|---|---|
个人空间 | 可以添加项目、添加接口、添加用例、执行用例 | 个人空间是自己的空间,别人看不到 |
自定义空间 | 可以添加项目、添加接口、添加用例、执行用例、添加成员 | 自定义空间可以添加其他人员跟你协作 |
2.3 项目
以自定义空间添加的项目为例
项目主要包含以下几部分:接口、动态、数据管理、成员管理、设置、wiki
模块 | 功能 |
---|---|
接口 | 管理接口、用例 |
动态 | 显示项目动态 |
数据管理 | 提供接口导入功能,支持posman、HAR、swagger、json |
数据管理 | 提供接口导出功能,支持html、markdown、json、swaggerjson |
成员管理 | 管理协作人员 |
设置 | 项目配置,管理项目基本信息 环境配置,可以设置多个环境,如pre、tst、pro等,可以自定义全局变量、请求头、cookie 请求配置,可以添加前置处理脚本、后置处理脚本(均为js脚本) token配置,提供给第三方的接口和token 全局mock脚本 |
wiki | wiki |
2.4 接口
包含两个模块:接口列表、测试集合
2.4.1 接口管理
接口管理主要是用来维护接口的,并不是测试用例,这一点需要理解清楚,更多的是当做swagger来用
可以添加分类,如:登录、注册、下单
接口管理包含以下几个模块:预览、编辑、运行、高级mock
接下来着重介绍“编辑”模块:
- 添加接口时,只需要填写path,域名在“环境配置”维护,方便多环境切换
- 请求类型,基本支持所有http请求类型:post、get、put、delete、head、options、patch
- 请求参数设置,根据不同请求类型,显示所需字段(query、headers、body)
- body,支持多种格式(form、json、file、raw),form、json支持导入 query,支持key:value格式导入
- headers,没啥好说的 返回数据设置 支持json、raw格式 只是实例而已
- 备注
接下来着重介绍“运行”模块:
- 最重要的功能:在运行界面,填写完接口内容之后,点击“保存”,可以保存为测试用例,填写的参数值可以带过去,很方便!
- body:在“编辑”tab页填写的默认值,不会带过来,bug!!!
- body:参数编辑,可以使用mock、变量、全局变量,这里设置了,保存时可以带到测试用例中,很方便!
- 高级mock,这个还不太了解该怎么使用。。。
- 参数值填写完成后,点击“发送”,可以在response查看接口调用是否成功
2.4.2 测试集合
该模块是我们重点使用的模块,重点关注
包含测试集合管理(克隆集合、导入接口、编辑集合、删除)、用例管理(克隆用例、编辑用例、删除用例)
2.4.2.1 参数化
参数化实现有以下几种方式
- mock,通过mock塑造参数值,如:
{{ @integer | substr:1,11 }} 取11位整数,从第二位开始取(第一位可能是负号) {{ @timestamp }} 时间戳
- 全局变量,通过环境配置里的全局变量替代参数值,如:
{{ global.password }}
- 前置脚本,通过设置-请求配置中的前置处理脚本替代参数值,如:
//只修改编号为17的用例 -- 换个角度解决了修改一个参数的值,所有用例都修改了的问题 if(context.caseId == 17){ context.requestBody.type=11; //实现了对请求参数的赋值拼接 global.appId = 8; //这行这么用不生效。。。全局变量如果可以再pre-request脚本中重新赋值,就完美了 }
- 关联,引用之前用的请求数据或者返回数据,如
{{ $.17.body.message }} //id为17的用例的返回里的message字段的值 {{ $.17.params.type }} //id为17的用例的请求里的type字段的值 //可以直接选择,不需要自己生写
2.4.2.2 关联
参照上表,具体如何选择,见下图
2.4.2.3 断言
没有预期结果的用例不是完整用例,没有断言的自动化测试完全没有意义!
在用例编辑页面,最下方“Test”选项卡,选择“开启”,填写断言即可,如下
来联系我吧