{ "uid" : "7a43f05b18d9e683", "name" : "test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-DELETE-query-case_data5-expect_data5-select-select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";-ids]", "fullName" : "test_case.test_张三.test_bpm.TestBPM#test_bpm", "historyId" : "49e712f8bfd0192f3e32e9f747b454e5", "time" : { "start" : 1710833442055, "stop" : 1710833442148, "duration" : 93 }, "status" : "failed", "statusMessage" : "AssertionError: 断言失败", "statusTrace" : "self = <InterfaceAutoTest.test_case.test_张三.test_bpm.TestBPM object at 0x000001F7AE3AA910>\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/demension/v1/dem/deleteDemByIds', method = 'DELETE', mime = 'query'\ncase_data = {'ids': '1769989862863159296'}, expect_data = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";', update_key = 'ids'\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 '删除维度成功' == '【接口自动化框架(abc...度下存在组织,不允许删除 '\nE \nE - 【接口自动化框架(abc_123_xyz)】的维度下存在组织,不允许删除 \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 0x000001F7AE3AA910>\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/demension/v1/dem/deleteDemByIds', method = 'DELETE', mime = 'query'\ncase_data = {'ids': '1769989862863159296'}, expect_data = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";', update_key = 'ids'\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", "flaky" : false, "newFailed" : false, "beforeStages" : [ { "name" : "_session_faker", "time" : { "start" : 1710833437797, "stop" : 1710833438036, "duration" : 239 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "hasContent" : false, "stepsCount" : 0 }, { "name" : "db_fix", "time" : { "start" : 1710833441152, "stop" : 1710833441362, "duration" : 210 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "hasContent" : false, "stepsCount" : 0 }, { "name" : "req_fix", "time" : { "start" : 1710833441362, "stop" : 1710833441462, "duration" : 100 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "hasContent" : false, "stepsCount" : 0 } ], "testStage" : { "status" : "failed", "statusMessage" : "AssertionError: 断言失败", "statusTrace" : "self = <InterfaceAutoTest.test_case.test_张三.test_bpm.TestBPM object at 0x000001F7AE3AA910>\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/demension/v1/dem/deleteDemByIds', method = 'DELETE', mime = 'query'\ncase_data = {'ids': '1769989862863159296'}, expect_data = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";', update_key = 'ids'\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 '删除维度成功' == '【接口自动化框架(abc...度下存在组织,不允许删除 '\nE \nE - 【接口自动化框架(abc_123_xyz)】的维度下存在组织,不允许删除 \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 0x000001F7AE3AA910>\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/demension/v1/dem/deleteDemByIds', method = 'DELETE', mime = 'query'\ncase_data = {'ids': '1769989862863159296'}, expect_data = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";', update_key = 'ids'\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", "steps" : [ ], "attachments" : [ { "uid" : "779614d7fa5cf28b", "name" : "log", "source" : "779614d7fa5cf28b.txt", "type" : "text/plain", "size" : 804 } ], "parameters" : [ ], "attachmentsCount" : 1, "shouldDisplayMessage" : true, "hasContent" : true, "stepsCount" : 0 }, "afterStages" : [ { "name" : "db_fix::0", "time" : { "start" : 1710833443265, "stop" : 1710833443266, "duration" : 1 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "hasContent" : false, "stepsCount" : 0 }, { "name" : "req_fix::0", "time" : { "start" : 1710833443264, "stop" : 1710833443264, "duration" : 0 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "hasContent" : false, "stepsCount" : 0 } ], "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" }, { "name" : "resultFormat", "value" : "allure2" } ], "parameters" : [ { "name" : "case_data", "value" : "{'ids': '不知道'}" }, { "name" : "expect_data", "value" : "{'message': '删除维度成功'}" }, { "name" : "method", "value" : "'DELETE'" }, { "name" : "mime", "value" : "'query'" }, { "name" : "sql_data", "value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";'" }, { "name" : "sql_type", "value" : "'select'" }, { "name" : "update_key", "value" : "'ids'" }, { "name" : "url", "value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" } ], "links" : [ ], "hidden" : false, "retry" : false, "extra" : { "severity" : "normal", "retries" : [ ], "categories" : [ { "name" : "Product defects", "matchedStatuses" : [ ], "flaky" : false } ], "tags" : [ ] }, "source" : "7a43f05b18d9e683.json", "parameterValues" : [ "{'ids': '不知道'}", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"abc_123_xyz\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ] }