{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "12fd06e2-fba0-4e97-bc71-78dc4ac2f495-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875131, "stop": 1725509875157, "uuid": "7b394fb4-02f8-4a3b-910c-cc6907718049", "historyId": "878a8b6a3f33c260878ce369810ee073", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}