{"name": "反向用例-用户名正确-密码为空", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败!", "trace": "self = <MyAPIAutoTest_v1.test_case.test_aHuanYo.test_case.TestBPM object at 0x0000017D602DB0E0>\ndb_fix = <MyAPIAutoTest_v1.common.DB_config.DbConfig object at 0x0000017D602E7DA0>\nreq_fix = <MyAPIAutoTest_v1.request_method.request_method.RequestMethod object at 0x0000017D5FE1D760>, module = '认证接口'\napi = '登录系统', title = '反向用例-用户名正确-密码为空', lever = '中', method = 'POST', path = '/auth', req_type = 'application/json'\ncase_data = {'password': '', 'username': 'admin'}, expect_data = {'message': '账户错误或该租户未启用', 'state': False}, sql_type = None\nsql_data = None, update_key = None\n\n    @allure.epic(f\"BPM-{USERNAME}\")\n    @pytest.mark.parametrize(\"module, api, title, lever,method, path, req_type, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(USERNAME).get_case_data())\n    def test_bpm(self, db_fix, req_fix, module, api, title, lever,method, path, req_type, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module)\n        allure.dynamic.story(api)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(lever)\n    \n        if sql_type == \"delete\":\n            db_fix.sql_delete(sql_data)\n        elif sql_type == \"select\":\n            new_data = db_fix.sql_select(sql_data)\n            case_data[update_key] = new_data\n    \n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            db_fix.sql_delete(sql_data.get(\"delete\"))\n            new_data = db_fix.sql_select(sql_data.get(\"select\"))\n            case_data[update_key] = new_data\n    \n        bpm_res = req_fix.request_all(req_method=method, req_url=path, req_type=req_type, case_data=case_data)\n    \n        try:\n            for key in expect_data:\n>               assert bpm_res.json().get(key) == expect_data[key]\nE               AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE                 \nE                 - 账户错误或该租户未启用\nE                 + 账号或密码错误\n\ntest_case\\test_aHuanYo\\test_case.py:40: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <MyAPIAutoTest_v1.test_case.test_aHuanYo.test_case.TestBPM object at 0x0000017D602DB0E0>\ndb_fix = <MyAPIAutoTest_v1.common.DB_config.DbConfig object at 0x0000017D602E7DA0>\nreq_fix = <MyAPIAutoTest_v1.request_method.request_method.RequestMethod object at 0x0000017D5FE1D760>, module = '认证接口'\napi = '登录系统', title = '反向用例-用户名正确-密码为空', lever = '中', method = 'POST', path = '/auth', req_type = 'application/json'\ncase_data = {'password': '', 'username': 'admin'}, expect_data = {'message': '账户错误或该租户未启用', 'state': False}, sql_type = None\nsql_data = None, update_key = None\n\n    @allure.epic(f\"BPM-{USERNAME}\")\n    @pytest.mark.parametrize(\"module, api, title, lever,method, path, req_type, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(USERNAME).get_case_data())\n    def test_bpm(self, db_fix, req_fix, module, api, title, lever,method, path, req_type, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module)\n        allure.dynamic.story(api)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(lever)\n    \n        if sql_type == \"delete\":\n            db_fix.sql_delete(sql_data)\n        elif sql_type == \"select\":\n            new_data = db_fix.sql_select(sql_data)\n            case_data[update_key] = new_data\n    \n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            db_fix.sql_delete(sql_data.get(\"delete\"))\n            new_data = db_fix.sql_select(sql_data.get(\"select\"))\n            case_data[update_key] = new_data\n    \n        bpm_res = req_fix.request_all(req_method=method, req_url=path, req_type=req_type, case_data=case_data)\n    \n        try:\n            for key in expect_data:\n                assert bpm_res.json().get(key) == expect_data[key]\n                log.info(f\"断言成功!测试数据为:{case_data}, 期望数据为:{expect_data}, 实际数据为:{bpm_res.text}\")\n        except AssertionError:\n            log.error(f\"断言失败!测试数据为:{case_data}, 期望数据为:{expect_data}, 实际数据为:{bpm_res.text}\")\n>           raise AssertionError(\"断言失败!\")\nE           AssertionError: 断言失败!\n\ntest_case\\test_aHuanYo\\test_case.py:44: AssertionError"}, "attachments": [{"name": "log", "source": "d1c2f019-2ee4-4e29-976d-33c204e2b1a9-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-用户名正确-密码为空'"}, {"name": "lever", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "path", "value": "'/auth'"}, {"name": "req_type", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': ''}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账户错误或该租户未启用'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1721039886431, "stop": 1721039886462, "uuid": "a7bf3b75-ea60-402e-ac79-a92760132729", "historyId": "ac3faebe4d4e16f47e2cd52fcfa5dafb", "testCaseId": "703061e9270bd1b9c61184512c0c6df6", "fullName": "test_case.test_aHuanYo.test_case.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM-aHuanYo"}, {"name": "parentSuite", "value": "test_case.test_aHuanYo"}, {"name": "suite", "value": "test_case"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "25868-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_aHuanYo.test_case"}]}