test_bpm.py 1.45 KB
Newer Older
dsw committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName:   test63
# FileName:      test_bpm.py
# Author:       lao_zhao
# Datetime:     2024/11/5 15:39
# Description:
# 
# ---------------------------------------------------------------------------
import pytest

from APIAutoTest_v3 import log
from APIAutoTest_v3.common.read_excel import ReadExcel


class TestBPM:

    @pytest.mark.parametrize("method, url, mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel().get_data())
    def test_bpm(self, req_fix, method, url, mime, case_data, expect_data, sql_type, sql_data, update_key):

        # 使用RequestsMethod类对象调用request_all方法发送请求。自定义固件就是RequestsMethod类对象
        res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, req_case_data=case_data, sql_type=sql_type, sql_data=sql_data, update_key=update_key)

        # 断言
        try:
            for key in expect_data.keys():
                assert res.json().get(key) == expect_data[key]
        except AssertionError:
            log.error(f"断言失败,用例数据为:{case_data},期望数据为:{expect_data}, 服务器返回的数据为:{res.text}")
            raise AssertionError("断言失败")
        else:
            log.info(f"断言成功,用例数据为:{case_data},期望数据为:{expect_data}, 服务器返回的数据为:{res.text}")