接口自动化测试框架只需要编写yaml(excel)测试用例即可完全实现零代码落地实施自动化测试。
1.1 热加载封装(全网最早应用于自动化测试框架的封装技术)
1.2 requests统一请求封装
1.3 接口关联封装以及接口关联封装改进
1.4 规范yaml测试用例封装
1.5 统一接口断言封装,包括常规断言和数据库断言
1.6 yaml测试用例数据驱动封装
1.7 base_url举出路径封装
1.8 logging日志封装
1.9 接口加密封装
1.10 接口签名封装
1.11 零代码极限封装
1.12 企业级Allure报告的定制
1.13 流程用例封装,异常处理封装,常规基础模块封装等
注意事项:有关联用例,关联的上一个接口用例必须在上面(也可以放到a文件夹或者是通过修改yaml的文件名实现)
feature:模块名(必填)
story:接口名(必填)
title:用例标题(必填)
request:请求(必填)
method:请求方式(必填)
url:请求路径(必填)
headers:请求头
params:url之后的参数
data:表单数据
json:json数据
files:文件上传
validate:断言(必填)
codes:断言状态码
equals:相等断言
contains:包含断言
db_equals:数据断言
-
feature: 用户管理模块
story: 获取access_token鉴权码接口
title: 测试获取access_token鉴权码接口成功
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/token
params:
"grant_type": client_credential
"appid": wxd87yu92q8ehyd
"secret": f7384gf785ty8394fjre98yt45
validate: null
extract:
token: url(.*?)tp://101.34 (正则表达式提取)
order_id: $.data.data[0].id (jsonpath提取)
-
feature: 用户管理模块
story: 获取access_token鉴权码接口
title: 测试获取access_token鉴权码接口成功
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/token
params:
"grant_type": client_credential
"appid": wxd87yu92q8ehyd
"secret": f7384gf785ty8394fjre98yt45
extract:
access_token: $.access_token
validate: null
${read_yaml(token)}
-
feature: 用户管理模块
story: 查询标签接口
title: 测试查询标签接口成功返回
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/tags/get
params:
access_token: ${read_yaml(access_token)}
validate: null
parametrize:
- ["order_id","username","index"]
- ["654646","admin",0]
- ["www","baili",1]
使用:
$ddt{token}
-
feature: 用户管理模块
story: 获取access_token鉴权码接口
title: $ddt{title}
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/token
params:
"grant_type": $ddt{grant_type}
"appid": $ddt{appid}
"secret": $ddt{secret}
extract:
access_token: $.access_token
parametrize:
- [ "title","grant_type","appid","secret" ]
- [ "测试获取access_token鉴权码接口成功","client_credential","wxd87yu92q8ehyd","f7384gf785ty8394fjre98yt45" ]
validate: null
validate:断言
codes
equals
contains
db_equals
-
feature: 用户管理模块
story: 查询标签接口
title: 测试查询标签接口成功返回
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/tags/get
params:
access_token: ${read_yaml(access_token)}
validate:
codes: 200
contains: tags
在config.yaml里面设置基础路径,然后再在yaml测试用例中使用热加载:${read_config(base_url)}
base_url: https://api.weixin.qq.com/cgi-bin
-
feature: 用户管理模块
story: 查询标签接口
title: 测试查询标签接口成功返回
request:
method: get
url: ${read_config(base_url)}/tags/get
params:
access_token: ${read_yaml(access_token)}
validate: null
-
feature: 用户管理模块
story: 获取access_token鉴权码接口
title: 第一个测试步骤
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/token
params:
"grant_type": client_credential
"appid": wxd87yu92q8ehyd
"secret": f7384gf785ty8394fjre98yt45
validate: null
-
feature: 用户管理模块
story: 获取access_token鉴权码接口
title: 第二个测试步骤
request:
method: get
url: https://api.weixin.qq.com/cgi-bin/token
params:
"grant_type": client_credential
"appid": wxd87yu92q8ehyd
"secret": f7384gf785ty8394fjre98yt45
validate: null