{"name": "test_bpm[http://120.46.172.186:8080/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-select|delete-sql_data2-demId]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_张三.test_bpm.TestBPM object at 0x000001F7AE3AA090>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x000001F7AE5CFB10>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x000001F7AE5D59D0>\nurl = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mime = 'json'\ncase_data = {'code': 'add_org_test', 'demId': '1769989862863159296', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'select|delete'\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"add_org_test\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";'}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(username=\"张三\", table_name=\"组织管理\").get_data())\n def test_bpm(self, db_fix, req_fix, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 1.1 判断sql语句类型是否为delete\n if sql_type == \"delete\":\n # 1.2 使用DB类对象使用delete方法执行删除的sql语句。DB类对象就是自定义固件db_fix\n db_fix.delete(sql_data)\n # 1.3 使用RequestsMethod类对象request_all方法发生请求\n \n # 2.1 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 2.2 使用DB类对象使用select方法执行查询的sql语句,并接收查询的结果。DB类对象就是自定义固件db_fix\n select_result = db_fix.select(sql_data)\n # 2.3 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 2.3 使用RequestsMethod类对象request_all方法发生请求\n \n # 3.1 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 3.2 使用DB类对象使用delete方法执行删除的sql语句。DB类对象就是自定义固件db_fix\n db_fix.delete(sql_data[\"delete\"])\n # 3.3 使用DB类对象使用select方法执行查询的sql语句,并接收查询的结果。DB类对象就是自定义固件db_fix\n select_result = db_fix.select(sql_data[\"select\"])\n # 3.4 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 3.5 使用RequestsMethod类对象request_all方法发生请求\n \n # 使用RequestsMethod类对象request_all方法发生请求\n res = req_fix.request_all(req_url=url, req_method=method, req_mime=mime, case_data=case_data)\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 ? -\nE + 添加组织成功\n\ntest_case\\test_张三\\test_bpm.py:48: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_张三.test_bpm.TestBPM object at 0x000001F7AE3AA090>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x000001F7AE5CFB10>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x000001F7AE5D59D0>\nurl = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mime = 'json'\ncase_data = {'code': 'add_org_test', 'demId': '1769989862863159296', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'select|delete'\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"add_org_test\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";'}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(username=\"张三\", table_name=\"组织管理\").get_data())\n def test_bpm(self, db_fix, req_fix, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 1.1 判断sql语句类型是否为delete\n if sql_type == \"delete\":\n # 1.2 使用DB类对象使用delete方法执行删除的sql语句。DB类对象就是自定义固件db_fix\n db_fix.delete(sql_data)\n # 1.3 使用RequestsMethod类对象request_all方法发生请求\n \n # 2.1 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 2.2 使用DB类对象使用select方法执行查询的sql语句,并接收查询的结果。DB类对象就是自定义固件db_fix\n select_result = db_fix.select(sql_data)\n # 2.3 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 2.3 使用RequestsMethod类对象request_all方法发生请求\n \n # 3.1 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 3.2 使用DB类对象使用delete方法执行删除的sql语句。DB类对象就是自定义固件db_fix\n db_fix.delete(sql_data[\"delete\"])\n # 3.3 使用DB类对象使用select方法执行查询的sql语句,并接收查询的结果。DB类对象就是自定义固件db_fix\n select_result = db_fix.select(sql_data[\"select\"])\n # 3.4 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 3.5 使用RequestsMethod类对象request_all方法发生请求\n \n # 使用RequestsMethod类对象request_all方法发生请求\n res = req_fix.request_all(req_url=url, req_method=method, req_mime=mime, case_data=case_data)\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},请求的方法为:{method},请求的媒体类型为:{mime}, 请求的用例数据:{case_data}, 期望数据为:{expect_data},服务器返回的数据为:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_张三\\test_bpm.py:51: AssertionError"}, "attachments": [{"name": "log", "source": "b5fec3d6-463f-4b94-ad21-9f4729cbc700-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'add_org_test', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '接口自动化框架添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "sql_data", "value": "{'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"add_org_test\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1710833441696, "stop": 1710833441878, "uuid": "4f99ec4f-db25-4b55-9c8f-c53a4900a727", "historyId": "5c8f877893e7cbe9db93af1608dff69b", "testCaseId": "5b39a66235dce8bb894e044ec8b32592", "fullName": "test_case.test_张三.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_张三"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-143G5RP"}, {"name": "thread", "value": "16284-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_张三.test_bpm"}]}