(2023-03-29)1. 完成api自动化测试框架的搭建 2. 增加示例的测试用例,包括自动 生成以及手动编写

This commit is contained in:
floraachy
2023-05-17 17:00:38 +08:00
parent f80f054c53
commit 1f06223170
29 changed files with 1433 additions and 1 deletions
+6
View File
@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# @Time : 2023/3/28 23:17
# @Author : Flora.Chen
# @File : __init__.py.py
# @Software: PyCharm
# @Desc:
+47
View File
@@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
# @Version: Python 3.9
# @Time : 2023/1/9 16:41
# @Author : chenyinhua
# @File : test_login.py
# @Software: PyCharm
# @Desc: python脚本编写的测试用例文件
import pytest
import os
from common_utils.yaml_handle import HandleYaml
from config.project_path import DATA_DIR
from case_utils.requests_handle import BaseRequest
from case_utils.assert_handle import assert_result
from loguru import logger
from case_utils.request_data_handle import RequestPreDataHandle
from config.global_vars import GLOBAL_VARS
# 读取用例数据
cases = HandleYaml(filename=os.path.join(DATA_DIR, "test_login.yaml")).read_yaml
@pytest.mark.test_login
class TestLogin:
"""
登录模块
"""
@pytest.mark.parametrize("case", cases)
def test_login(self, case):
logger.info("-----------------------------START-开始执行用例-----------------------------")
logger.debug(f"当前执行的用例数据:{case}")
# 将用例标题title作为全局变量,方便后续写入到测试报告report.description中
GLOBAL_VARS["title"] = case.get("title", "")
if case.get("run", None):
# 获取处理完成的用例数据
case_data = RequestPreDataHandle(case).request_data_handle()
# 发送请求
response = BaseRequest.send_request(case_data)
# 进行断言
assert_result(response, case_data["expected"])
else:
reason = f"标记了该用例为false,不执行\\n"
logger.warning(f"{reason}")
pytest.skip(reason)
logger.info("-----------------------------END-用例执行结束-----------------------------")