96f7fc02-cdd0-4a29-82da-0df165878850-result.json 8.6 KB
Newer Older
xzq committed
1
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000023F24E920A0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x0000023F24EF2640>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000023F24F2EBE0>, module_name = '组织管理', api_name = '添加组织'\nlevel = '高', title = '正向用例', url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg', method = 'POST', mime = 'json'\ncase_data = {'code': 'testAddOrg', 'demId': '1831578328248197120', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功'}\nsql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n    @allure.epic(\"BPM项目-Demo\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, title, 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, module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(level)\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                 ?       -\nE                 + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:61: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000023F24E920A0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x0000023F24EF2640>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000023F24F2EBE0>, module_name = '组织管理', api_name = '添加组织'\nlevel = '高', title = '正向用例', url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg', method = 'POST', mime = 'json'\ncase_data = {'code': 'testAddOrg', 'demId': '1831578328248197120', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功'}\nsql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n    @allure.epic(\"BPM项目-Demo\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, level, title, 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, module_name, api_name, level, title, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n        allure.dynamic.feature(module_name)\n        allure.dynamic.story(api_name)\n        allure.dynamic.title(title)\n        allure.dynamic.severity(level)\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_demo\\test_bpm.py:64: AssertionError"}, "attachments": [{"name": "log", "source": "e9f6b141-e08e-43c6-b66a-381ba0c706eb-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "level", "value": "'高'"}, {"name": "title", "value": "'正向用例'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/addOrg'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'testAddOrg', 'demId': '1831578328248197120', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_type", "value": "'delete|select'"}, {"name": "sql_data", "value": "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1725517394831, "stop": 1725517394873, "uuid": "60d04c4e-4c7b-466a-b649-b901587356c9", "historyId": "a51fb8db6e21edd1b5e74c93f105c5ca", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-Demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "21668-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}