{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_bpm.TestBPM object at 0x00000257902F01C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000257902F0490>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x00000257903D93D0>, module = '维度管理', interface = '根据维度编码删除维度', title = '正向用例'\nlevel = '高', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ndata = {'ids': '1688475997541777408'}, expect = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_sentence = 'SELECT ID_ FROM uc_demension WHERE `CODE_`=\"test56_dem\";', update_key = 'ids'\n\n @allure.epic(\"BPM系统\")\n @pytest.mark.parametrize(\"module, interface, title, level, method, url, mime, data, expect, sql_type, sql_sentence, update_key\", ReadExcel().get_data())\n def test_bpm(self, req_fix, db_fix, module, interface, title, level, method, url, mime, data, expect, sql_type, sql_sentence, update_key):\n allure.dynamic.feature(module)\n allure.dynamic.story(interface)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 1.1:判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 1.2 使用DB类对象,调用delete方法执行删除的sql语句\n db_fix.delete(sql_sentence)\n # # 1.3 使用RequestsMethod类对象调用request_all方法发送请求\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n # 2.1 判断sql语句的类型是否为select\n elif sql_type == \"select\":\n # 2.2 使用DB类对象,调用select方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select(sql_sentence)\n # 2.3 将查询结果更新到用例数据中\n data[update_key] = select_result\n # # 2.3 使用RequestsMethod类对象调用request_all方法发送请求\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n # 3.1 判断sql语句的类型是否delete|select或者为select|delete\n elif sql_type == \"delete|select\" or sql_type == \"select|delete\":\n # 3.2 使用DB类对象,调用delete方法执行删除的sql语句\n db_fix.delete(sql_sentence[\"delete\"])\n # 3.3 使用DB类对象,调用select方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select(sql_sentence[\"select\"])\n # 3.4 将查询结果更新到用例数据中\n data[update_key] = select_result\n # # 3.5 使用RequestsMethod类对象调用request_all方法发送请求\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n #\n # else:\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n # 断言\n try:\n for key in expect:\n> assert expect[key] == result.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x000002579047D040>('state')\nE + where <built-in method get of dict object at 0x000002579047D040> = {'logId': '1688476018974670848', 'message': '', 'state': False}.get\nE + where {'logId': '1688476018974670848', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_bpm.py:61: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_bpm.TestBPM object at 0x00000257902F01C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000257902F0490>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x00000257903D93D0>, module = '维度管理', interface = '根据维度编码删除维度', title = '正向用例'\nlevel = '高', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ndata = {'ids': '1688475997541777408'}, expect = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_sentence = 'SELECT ID_ FROM uc_demension WHERE `CODE_`=\"test56_dem\";', update_key = 'ids'\n\n @allure.epic(\"BPM系统\")\n @pytest.mark.parametrize(\"module, interface, title, level, method, url, mime, data, expect, sql_type, sql_sentence, update_key\", ReadExcel().get_data())\n def test_bpm(self, req_fix, db_fix, module, interface, title, level, method, url, mime, data, expect, sql_type, sql_sentence, update_key):\n allure.dynamic.feature(module)\n allure.dynamic.story(interface)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 1.1:判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 1.2 使用DB类对象,调用delete方法执行删除的sql语句\n db_fix.delete(sql_sentence)\n # # 1.3 使用RequestsMethod类对象调用request_all方法发送请求\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n # 2.1 判断sql语句的类型是否为select\n elif sql_type == \"select\":\n # 2.2 使用DB类对象,调用select方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select(sql_sentence)\n # 2.3 将查询结果更新到用例数据中\n data[update_key] = select_result\n # # 2.3 使用RequestsMethod类对象调用request_all方法发送请求\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n # 3.1 判断sql语句的类型是否delete|select或者为select|delete\n elif sql_type == \"delete|select\" or sql_type == \"select|delete\":\n # 3.2 使用DB类对象,调用delete方法执行删除的sql语句\n db_fix.delete(sql_sentence[\"delete\"])\n # 3.3 使用DB类对象,调用select方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select(sql_sentence[\"select\"])\n # 3.4 将查询结果更新到用例数据中\n data[update_key] = select_result\n # # 3.5 使用RequestsMethod类对象调用request_all方法发送请求\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n #\n # else:\n # result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n result = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=data)\n \n # 断言\n try:\n for key in expect:\n assert expect[key] == result.json().get(key)\n except:\n print(\"断言失败\")\n logging.error(\"断言失败, 模块名称为:{},接口名称为:{},用例标题:{},用例为:{},期望结果为:{},服务器返回数据为:{}\".format(module, interface, title, str(data), str(expect), result.text))\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_bpm.py:65: AssertionError"}, "attachments": [{"name": "log", "source": "1367eae4-1904-4af4-bf9b-73fda78110fd-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "bd6edfe3-84b9-4297-9ff9-a89236ee3100-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "interface", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "data", "value": "{'ids': '1688475997541777408'}"}, {"name": "expect", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_sentence", "value": "'SELECT ID_ FROM uc_demension WHERE `CODE_`=\"test56_dem\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1691399028670, "stop": 1691399028807, "uuid": "3cb15ddf-a24f-4b89-83d1-24078763326d", "historyId": "f37f5b35a33b0d851ad30e5c966f4068", "testCaseId": "0abeaba8f176b6785a0334bed7c1bdad", "fullName": "test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "6412-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_bpm"}]}