新增接口字段批量校验功能

This commit is contained in:
caiweichao 2022-06-19 22:12:45 +08:00
parent f1c95d54e2
commit e6677c2d0a
3 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
# @Author : caiweichao
# @explain : 文件说明

View File

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
# @Author : caiweichao
# @explain : 对于excel的结果进行批量校验
from Commons.util.json_util import JsonUtil
from Commons.util.logs import Log
class ApiAssert:
def __init__(self, checks: str, expecteds: str):
"""
:param checks: jsonpath
:param expecteds:期望值
"""
self.checks: list = checks.split("\n")
self.expecteds: list = expecteds.split("\n")
# 将全部对返回值进行校验
def assert_all_expected(self, response):
"""
全部字段校验
:param response:
:return:
"""
if len(self.checks) != len(self.expecteds):
return Exception("用例参数异常请检查!")
try:
for expected, check in dict(zip(self.expecteds, self.checks)).items():
if (expected := JsonUtil.jsonToOneValue(response, rule=expected)) == check:
Log.info(f"接口关键字段校验:{check} = {expected}")
else:
Log.error(f"接口关键字段校验未通过:{check} != {expected}")
return False
return True
except Exception:
Exception("校验异常请检查")
if __name__ == '__main__':
pass

View File

@ -23,12 +23,18 @@
2. operation_file --> 操作yaml excel 2. operation_file --> 操作yaml excel
3. ui_auto --> ui自动化的basicPage 解析allure测试报告 3. ui_auto --> ui自动化的basicPage 解析allure测试报告
4. util --> 工具类 json解析 数据库操作 日志记录 等 4. util --> 工具类 json解析 数据库操作 日志记录 等
5. api_auto --> 接口自动化工具类
2. ConfigFile --> 项目的配置文件 2. ConfigFile --> 项目的配置文件
3. PageObject --> po文件 3. PageObject --> po文件
4. TestCase --> 测试用例 4. TestCase --> 测试用例
5. TestData --> 测试数据 5. TestData --> 测试数据
1. TestCase.xlsx --> 不同的sheet存放不同的api文件 1. TestCase.xlsx --> 不同的sheet存放不同的api文件
2. SchemaData --> 存放校验接口字段的yaml文件 2. SchemaData --> 存放校验接口字段的yaml文件
#### 更新日志
- 20220619
1. 接口自动化支持多关键字校验按照下图在excel中维护用例写一个参数就换行
1. Commons/api_auto/batch_assert.py 这个类支持接口参数多字段校验一个失败即为失败
2. [![Xj28pV.jpg](https://s1.ax1x.com/2022/06/19/Xj28pV.jpg)](https://imgtu.com/i/Xj28pV)