接口自动化测试框架

接口自动化测试框架只需要编写yaml(excel)测试用例即可完全实现零代码落地实施自动化测试。

1、核心技术

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的文件名实现)

2、yaml编写测试用例常规可用的关键字

feature:模块名(必填)

story:接口名(必填)

title:用例标题(必填)

request:请求(必填)

method:请求方式(必填)

url:请求路径(必填)

headers:请求头

params:url之后的参数

data:表单数据

json:json数据

files:文件上传

validate:断言(必填)

codes:断言状态码

equals:相等断言

contains:包含断言

db_equals:数据断言

3、单接口测试用法(常规关键字填写接口数据)


-

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

4、测试需要接口关联的接口(通过extract关键字实现)

4.1上一个接口提取变量使用extract关键字

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

4.2下一个接口使用变量(token即extract提取的变量名)

${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

5、测试需要数据驱动的接口(通过parametrize关键字实现)

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

6、断言

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

7、基础路径的配置

在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

8、流程用例测试方法


-

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

最后作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值