42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
# -*- coding: utf-8 -*-
|
|
# @Time : ${now}
|
|
|
|
# 标准库导入
|
|
# 第三方库导入
|
|
import pytest
|
|
import allure
|
|
# 本地应用/模块导入
|
|
from config.global_vars import GLOBAL_VARS
|
|
from utils.requests_utils.request_control import RequestControl
|
|
from utils.requests_utils.case_dependence import case_dependence_handle
|
|
|
|
# 公共依赖
|
|
|
|
# 用例数据
|
|
cases = ${case_data}
|
|
|
|
@allure.epic("${allure_epic}")
|
|
@allure.feature("${allure_feature}")
|
|
class ${class_title}Auto:
|
|
|
|
@allure.story("${allure_story}")
|
|
@pytest.mark.auto
|
|
@pytest.mark.parametrize("case", cases, ids=lambda x: x["title"])
|
|
def ${func_title}_auto(self, case):
|
|
from loguru import logger
|
|
# 前置依赖处理
|
|
if case.get("case_dependence") and case["case_dependence"].get("setup"):
|
|
dependence_results = case_dependence_handle(case_dependence=case["case_dependence"]["setup"],
|
|
source=GLOBAL_VARS)
|
|
GLOBAL_VARS.update(dependence_results if dependence_results else {})
|
|
# 处理请求前的用例数据 -> 发送请求 -> 响应/数据库断言 -> 断言成功后进行参数提取
|
|
res = RequestControl().api_request_flow(request_data=case, global_var=GLOBAL_VARS)
|
|
GLOBAL_VARS.update(res)
|
|
# 后置依赖处理
|
|
if case.get("case_dependence") and case["case_dependence"].get("teardown"):
|
|
dependence_results = case_dependence_handle(case_dependence=case["case_dependence"]["teardown"],
|
|
source=GLOBAL_VARS)
|
|
GLOBAL_VARS.update(dependence_results if dependence_results else {})
|
|
|
|
|