Files
apiautotest/config/case_template.txt
T

37 lines
1.4 KiB
Plaintext

import pytest
from case_utils.assert_handle import assert_result
from case_utils.requests_handle import BaseRequest
from loguru import logger
from case_utils.request_data_handle import RequestPreDataHandle
from config.global_vars import GLOBAL_VARS
@pytest.fixture(params=${case_data})
def case(request):
"""
收集用例数据
"""
return request.param
@pytest.mark.${func_title}
@pytest.mark.auto
class ${class_title}Auto:
def ${func_title}_auto(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("------------------------------------------用例执行结束------------------------------------------")