079fa6cd-8e19-4e1f-9f5d-c6dca9d32261-result.json 9.59 KB
Newer Older
duqing committed
1
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败, 用例数据为:{'ids': '1812696305089748992'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}", "trace": "self = <APIAutoTest_v3_1.test_case.test_lao_zhang.test_case.TestBPM object at 0x0000018E4AB84310>\nreq_fix = <APIAutoTest_v3_1.request_method.request_method.RequestMethod object at 0x0000018E4ABE7040>\ndb_fix = <APIAutoTest_v3_1.common.db.DB object at 0x0000018E4AB2FDC0>, module_name = '维度管理', api_name = '根据维度编码删除维度', level = '中'\ncase_title = '正向用例', case_method = 'DELETE', case_url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', case_mime = 'query'\ncase_data = {'ids': '1812696305089748992'}, expect_data = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'SELECT ID_ FROM uc_demension WHERE `CODE_`=\"test_dem_xyz_123\";', update_key = 'ids'\n\n    @log_decorator\n    @allure.epic(\"BPM-张三\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"接口标题\")\n    # @allure.severity(\"用例级别\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, case_title, case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(USERNAME).get_data())\n    def test_bpm(self, req_fix, db_fix, module_name, api_name, level, case_title, case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n        # 影响allure报告的输出\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(case_title)\n        allure.dynamic.severity(level)\n    \n        print(case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key)\n    \n        # 判断sql语句类型是否为delete,如果是,使用DB类对象调用delete方法执行删除的sql语句\n        if sql_type == \"delete\":\n            # 使用DB类对象调用delete方法执行删除的sql语句, DB类对象就是自定义固件db_fix\n            db_fix.delete(sql_data)\n    \n        # 判断sql语句的类型是否为select,如果是,使用DB类对象调用select方法执行查询语句,并接收查询的结果\n        elif sql_type == \"select\":\n            # 使用DB类对象调用select方法执行查询语句,并接收查询的结果\n            select_result = db_fix.select(sql_data)\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 判断sql语句的类型是否为select|delete 或者 delete|select ,如果是,使用DB类对象执行sql语句\n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            # 使用DB类对象调用delete方法执行删除的sql语句。\n            db_fix.delete(sql_data[\"delete\"])\n    \n            # 使用DB类对象调用select方法执行查询的sql语句, 并接收查询的结果\n            select_result = db_fix.select(sql_data[\"select\"])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        result = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n        print(result.text)\n    \n        try:\n            for key in expect_data:\n>               assert expect_data[key] == result.json().get(key)\nE               AssertionError: assert '删除维度成功' == '删除维度成功!'\nE                 \nE                 - 删除维度成功!\nE                 ?       -\nE                 + 删除维度成功\n\ntest_case\\test_lao_zhang\\test_case.py:62: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3_1.test_case.test_lao_zhang.test_case.TestBPM object at 0x0000018E4AB84310>\nreq_fix = <APIAutoTest_v3_1.request_method.request_method.RequestMethod object at 0x0000018E4ABE7040>\ndb_fix = <APIAutoTest_v3_1.common.db.DB object at 0x0000018E4AB2FDC0>, module_name = '维度管理', api_name = '根据维度编码删除维度', level = '中'\ncase_title = '正向用例', case_method = 'DELETE', case_url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', case_mime = 'query'\ncase_data = {'ids': '1812696305089748992'}, expect_data = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'SELECT ID_ FROM uc_demension WHERE `CODE_`=\"test_dem_xyz_123\";', update_key = 'ids'\n\n    @log_decorator\n    @allure.epic(\"BPM-张三\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"接口标题\")\n    # @allure.severity(\"用例级别\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, case_title, case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(USERNAME).get_data())\n    def test_bpm(self, req_fix, db_fix, module_name, api_name, level, case_title, case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n        # 影响allure报告的输出\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(case_title)\n        allure.dynamic.severity(level)\n    \n        print(case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key)\n    \n        # 判断sql语句类型是否为delete,如果是,使用DB类对象调用delete方法执行删除的sql语句\n        if sql_type == \"delete\":\n            # 使用DB类对象调用delete方法执行删除的sql语句, DB类对象就是自定义固件db_fix\n            db_fix.delete(sql_data)\n    \n        # 判断sql语句的类型是否为select,如果是,使用DB类对象调用select方法执行查询语句,并接收查询的结果\n        elif sql_type == \"select\":\n            # 使用DB类对象调用select方法执行查询语句,并接收查询的结果\n            select_result = db_fix.select(sql_data)\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 判断sql语句的类型是否为select|delete 或者 delete|select ,如果是,使用DB类对象执行sql语句\n        elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n            # 使用DB类对象调用delete方法执行删除的sql语句。\n            db_fix.delete(sql_data[\"delete\"])\n    \n            # 使用DB类对象调用select方法执行查询的sql语句, 并接收查询的结果\n            select_result = db_fix.select(sql_data[\"select\"])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        result = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n        print(result.text)\n    \n        try:\n            for key in expect_data:\n                assert expect_data[key] == result.json().get(key)\n        except AssertionError:\n            # log.error(f\"断言失败, 用例数据为:{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{result.text}\")\n            # raise AssertionError(\"断言失败,描述失败的原因\")\n>           raise AssertionError(f\"断言失败, 用例数据为:{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{result.text}\")\nE           AssertionError: 断言失败, 用例数据为:{'ids': '1812696305089748992'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_lao_zhang\\test_case.py:66: AssertionError"}, "attachments": [{"name": "log", "source": "8cec880b-18ff-47b3-a50c-38a835cc72d8-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "5f03123d-672a-4de8-8765-7b37bb68aafc-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "level", "value": "'中'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '需要更新'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ FROM uc_demension WHERE `CODE_`=\"test_dem_xyz_123\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1721015510171, "stop": 1721015510201, "uuid": "69a98d41-a60c-43e3-b135-3bb40f1a647c", "historyId": "6dbe591942a5c7741e0eaae5fd698f18", "testCaseId": "b91673cbc3de68b5b5a4aeead5d4b8aa", "fullName": "test_case.test_lao_zhang.test_case.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM-张三"}, {"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_case"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "18996-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_case"}]}