{"name": "反向用例-username错误", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x0000020F9C43F520>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000020F9C626B50>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000020F9C5D8D90>, module_name = '认证接口', api_name = '登录系统'\ncase_title = '反向用例-username错误', case_level = '中', case_req = 'Post', case_url = 'http://120.46.172.186:8080/auth', case_mime = 'json'\ncase_data = {'password': 'MTIzNDU2', 'username': 'Admin'}, expect_data = {'message': '账号或密码错误', 'state': False}, sql_type = None, sql_data = None\nupdate_key = None\n\n    @allure.epic(\"BPM系统-老张\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n    @log_decorator\n    def test_method_template(self, db_fix, req_fix, module_name, api_name, case_title, case_level, case_req, 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(case_level)\n    \n        # 判断sql语句类型是否为delete\n        if sql_type == \"delete\":\n            # 使用DB类对象,调用delete方法执行删除的sql语句\n            db_fix.delete(sql_data)\n    \n        # 判断sql语句是否为select\n        elif sql_type == \"select\":\n            # 使用DB类对象,调用select方法执行查询的sql语句,并接收查询的结果\n            select_result = db_fix.select(sql_data)\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语句\n            db_fix.delete(sql_data[\"delete\"])\n            # 使用DB类对象,调用select方法执行查询的sql语句,并接收查询的结果\n            select_result = db_fix.select(sql_data[\"select\"])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 发送请求--使用RequestsMethod类对象的request_all方法发送请求\n        result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n    \n        # 断言\n        try:\n            for key in expect_data.keys():\n>               assert expect_data[key] == result.json().get(key)\nE               AssertionError: assert False == None\nE                +  where None = <built-in method get of dict object at 0x0000020F9C5BB900>('state')\nE                +    where <built-in method get of dict object at 0x0000020F9C5BB900> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...AsImlhdCI6MTcwNDM1ODI1MH0.pYnG5cnI91pmAV8AUX2fa64_1f_xLXquL1DiQrGhhwpkLZauBROm92h40E-bt8k2xjxEnwcdYF_mg7h-MzfWSg', ...}.get\nE                +      where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...AsImlhdCI6MTcwNDM1ODI1MH0.pYnG5cnI91pmAV8AUX2fa64_1f_xLXquL1DiQrGhhwpkLZauBROm92h40E-bt8k2xjxEnwcdYF_mg7h-MzfWSg', ...} = <bound method Response.json of <Response [200]>>()\nE                +        where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:61: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x0000020F9C43F520>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000020F9C626B50>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000020F9C5D8D90>, module_name = '认证接口', api_name = '登录系统'\ncase_title = '反向用例-username错误', case_level = '中', case_req = 'Post', case_url = 'http://120.46.172.186:8080/auth', case_mime = 'json'\ncase_data = {'password': 'MTIzNDU2', 'username': 'Admin'}, expect_data = {'message': '账号或密码错误', 'state': False}, sql_type = None, sql_data = None\nupdate_key = None\n\n    @allure.epic(\"BPM系统-老张\")\n    # @allure.feature(\"模块名称\")\n    # @allure.story(\"接口名称\")\n    # @allure.title(\"用例标题\")\n    # @allure.severity(\"用例等级\")\n    @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n    @log_decorator\n    def test_method_template(self, db_fix, req_fix, module_name, api_name, case_title, case_level, case_req, 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(case_level)\n    \n        # 判断sql语句类型是否为delete\n        if sql_type == \"delete\":\n            # 使用DB类对象,调用delete方法执行删除的sql语句\n            db_fix.delete(sql_data)\n    \n        # 判断sql语句是否为select\n        elif sql_type == \"select\":\n            # 使用DB类对象,调用select方法执行查询的sql语句,并接收查询的结果\n            select_result = db_fix.select(sql_data)\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语句\n            db_fix.delete(sql_data[\"delete\"])\n            # 使用DB类对象,调用select方法执行查询的sql语句,并接收查询的结果\n            select_result = db_fix.select(sql_data[\"select\"])\n            # 将查询结果更新到用例数据中\n            case_data[update_key] = select_result\n    \n        # 发送请求--使用RequestsMethod类对象的request_all方法发送请求\n        result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n    \n        # 断言\n        try:\n            for key in expect_data.keys():\n                assert expect_data[key] == result.json().get(key)\n    \n        except AssertionError:\n            logging.error(\"断言失败:用例为:\"+str(case_data)+\"期望数据为:\"+str(expect_data)+\"服务器返回数据为:\"+result.text)\n>           raise AssertionError(\"断言失败\")\nE           AssertionError: 断言失败\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:65: AssertionError"}, "attachments": [{"name": "log", "source": "09d02d78-a572-483d-a58e-6c6132878b72-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-username错误'"}, {"name": "case_level", "value": "'中'"}, {"name": "case_req", "value": "'Post'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'username': 'Admin', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1704358252718, "stop": 1704358252774, "uuid": "bbb5dbd2-2641-4094-9af8-14bac5f32606", "historyId": "39b12c49be6a4cf5dc4e214d57da103d", "testCaseId": "f5214cfe7df9b72974e18e3d7310b5ff", "fullName": "test_case.test_mr_zhang.test_mr_zhang.TestTemple#test_method_template", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mr_zhang"}, {"name": "suite", "value": "test_mr_zhang"}, {"name": "subSuite", "value": "TestTemple"}, {"name": "host", "value": "TimeIsALine"}, {"name": "thread", "value": "18832-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mr_zhang.test_mr_zhang"}]}