YAPI接口自动化测试工具---使用记录

目录

1、前置条件

2、开始使用

2.1 用户管理

2.2 空间

2.3 项目

2.4 接口

2.4.1 接口管理

2.4.2 测试集合


1、前置条件

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

yapi的官网地址:http://yapi.demo.qunar.com/

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脚本

wiki wiki 

 

 

 

 

 

 

 

 

 


   
  
    
    

 

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 参数化
参数化实现有以下几种方式

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”选项卡,选择“开启”,填写断言即可,如下

在这里插入图片描述

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值