需要生成多条测试用例 需要装饰器@pytest.mark.parametrize 测试方法将会根据参数组合多次运行

发布时间 2023-07-30 15:26:24作者: 胖豆芽
# py 文件必须test开头
# 测试类必须Test开头
import ast
import pytest
from utils.handle_yaml import get_yaml
from utils.handle_xls_my import get_excel_data
import json
from common.baseApi import BaseAPI # 在基类有 request_send 方法
from utils.handle_md5 import get_md5
from libs.login import Login


@pytest.mark.parametrize("item", get_excel_data()) # 第一步 预期结果  实际结果  以多个参数形式传递
def test_login(item): # 方法需要加()
# 第二步  实际结果和 预期结果做比较
    ex_res_data = ast.literal_eval(item[0])
    ex_res_msg = ex_res_data["msg"]  # 获得每个预期返回结果
    real_res_data = ast.literal_eval(item[0])
    real_msg = real_res_data["msg"]  # 获得每个预期返回结果
    print(f'预期结果msg:{ex_res_msg}, 实际结果msg:{real_msg}')

    # 第四步  实际结果和 预期结果做比较
    assert (ex_res_msg == real_msg)



    # -------------------------------------------