{ "uid" : "db12915576da2a7c", "name" : "反向用例-password错误", "fullName" : "test_case.test_zys.test_bpm.Test_bpm#test_bpm", "historyId" : "1646ecb812285c616f0b5eb71dff5b07", "time" : { "start" : 1725691434186, "stop" : 1725691434216, "duration" : 30 }, "status" : "failed", "statusMessage" : "AssertionError: 断言失败", "statusTrace" : "self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000187011EE550>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x00000187012ACB90>\nfix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x000001870129E450>, module = '认证接口', api = '登录系统', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账户错误或该租户未启用'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '反向用例-password错误', case_level = '中'\n\n @allure.epic(\"BPM项目-Demo\")\n @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data())\n def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level):\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n if sql_typ == 'delete':\n fix_db.delete(sql_data['delete'])\n elif sql_typ == 'select':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n fix_db.delete(sql_data['delete'])\n \n res = fix_req.request_all(method,url,mime,case_data)\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账户错误或该租户未启用' == None\nE + where None = <built-in method get of dict object at 0x000001870129E300>('message')\nE + where <built-in method get of dict object at 0x000001870129E300> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...MsImlhdCI6MTcyNTY5MTMyM30.D0rRJoEN3sgTx5KIyeCW5nNtR6rTCq7ZC7_kMKnM4Hviw4YJ8wwvOjVlhrB5SenhBnJD_TvT7KmUafYDFpBFgg', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...MsImlhdCI6MTcyNTY5MTMyM30.D0rRJoEN3sgTx5KIyeCW5nNtR6rTCq7ZC7_kMKnM4Hviw4YJ8wwvOjVlhrB5SenhBnJD_TvT7KmUafYDFpBFgg', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_zys\\test_bpm.py:42: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000187011EE550>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x00000187012ACB90>\nfix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x000001870129E450>, module = '认证接口', api = '登录系统', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账户错误或该租户未启用'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '反向用例-password错误', case_level = '中'\n\n @allure.epic(\"BPM项目-Demo\")\n @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data())\n def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level):\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n if sql_typ == 'delete':\n fix_db.delete(sql_data['delete'])\n elif sql_typ == 'select':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n fix_db.delete(sql_data['delete'])\n \n res = fix_req.request_all(method,url,mime,case_data)\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zys\\test_bpm.py:45: AssertionError", "flaky" : false, "newFailed" : false, "beforeStages" : [ { "name" : "_session_faker", "time" : { "start" : 1725691432889, "stop" : 1725691433045, "duration" : 156 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "stepsCount" : 0, "hasContent" : false }, { "name" : "fix_db", "time" : { "start" : 1725691433701, "stop" : 1725691433736, "duration" : 35 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "stepsCount" : 0, "hasContent" : false }, { "name" : "fix_req", "time" : { "start" : 1725691433736, "stop" : 1725691433771, "duration" : 35 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "stepsCount" : 0, "hasContent" : false } ], "testStage" : { "status" : "failed", "statusMessage" : "AssertionError: 断言失败", "statusTrace" : "self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000187011EE550>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x00000187012ACB90>\nfix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x000001870129E450>, module = '认证接口', api = '登录系统', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账户错误或该租户未启用'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '反向用例-password错误', case_level = '中'\n\n @allure.epic(\"BPM项目-Demo\")\n @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data())\n def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level):\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n if sql_typ == 'delete':\n fix_db.delete(sql_data['delete'])\n elif sql_typ == 'select':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n fix_db.delete(sql_data['delete'])\n \n res = fix_req.request_all(method,url,mime,case_data)\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账户错误或该租户未启用' == None\nE + where None = <built-in method get of dict object at 0x000001870129E300>('message')\nE + where <built-in method get of dict object at 0x000001870129E300> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...MsImlhdCI6MTcyNTY5MTMyM30.D0rRJoEN3sgTx5KIyeCW5nNtR6rTCq7ZC7_kMKnM4Hviw4YJ8wwvOjVlhrB5SenhBnJD_TvT7KmUafYDFpBFgg', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...MsImlhdCI6MTcyNTY5MTMyM30.D0rRJoEN3sgTx5KIyeCW5nNtR6rTCq7ZC7_kMKnM4Hviw4YJ8wwvOjVlhrB5SenhBnJD_TvT7KmUafYDFpBFgg', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_zys\\test_bpm.py:42: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000187011EE550>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x00000187012ACB90>\nfix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x000001870129E450>, module = '认证接口', api = '登录系统', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账户错误或该租户未启用'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '反向用例-password错误', case_level = '中'\n\n @allure.epic(\"BPM项目-Demo\")\n @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data())\n def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level):\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n if sql_typ == 'delete':\n fix_db.delete(sql_data['delete'])\n elif sql_typ == 'select':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete':\n res = fix_db.select(sql_data['select'])\n case_data[updata_key] = res\n fix_db.delete(sql_data['delete'])\n \n res = fix_req.request_all(method,url,mime,case_data)\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zys\\test_bpm.py:45: AssertionError", "steps" : [ ], "attachments" : [ { "uid" : "d5713164611b609f", "name" : "log", "source" : "d5713164611b609f.txt", "type" : "text/plain", "size" : 817 } ], "parameters" : [ ], "attachmentsCount" : 1, "shouldDisplayMessage" : true, "stepsCount" : 0, "hasContent" : true }, "afterStages" : [ { "name" : "fix_db::0", "time" : { "start" : 1725691434375, "stop" : 1725691434375, "duration" : 0 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "stepsCount" : 0, "hasContent" : false }, { "name" : "fix_req::0", "time" : { "start" : 1725691434373, "stop" : 1725691434373, "duration" : 0 }, "status" : "passed", "steps" : [ ], "attachments" : [ ], "parameters" : [ ], "attachmentsCount" : 0, "shouldDisplayMessage" : false, "stepsCount" : 0, "hasContent" : false } ], "labels" : [ { "name" : "feature", "value" : "认证接口" }, { "name" : "story", "value" : "登录系统" }, { "name" : "severity", "value" : "中" }, { "name" : "epic", "value" : "BPM项目-Demo" }, { "name" : "parentSuite", "value" : "test_case.test_zys" }, { "name" : "suite", "value" : "test_bpm" }, { "name" : "subSuite", "value" : "Test_bpm" }, { "name" : "host", "value" : "LAPTOP-LLUJ8P61" }, { "name" : "thread", "value" : "9876-MainThread" }, { "name" : "framework", "value" : "pytest" }, { "name" : "language", "value" : "cpython3" }, { "name" : "package", "value" : "test_case.test_zys.test_bpm" }, { "name" : "resultFormat", "value" : "allure2" } ], "parameters" : [ { "name" : "api", "value" : "'登录系统'" }, { "name" : "case_data", "value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}" }, { "name" : "case_level", "value" : "'中'" }, { "name" : "case_title", "value" : "'反向用例-password错误'" }, { "name" : "expect_data", "value" : "{'message': '账户错误或该租户未启用'}" }, { "name" : "method", "value" : "'POST'" }, { "name" : "mime", "value" : "'application/json'" }, { "name" : "module", "value" : "'认证接口'" }, { "name" : "sql_data", "value" : "None" }, { "name" : "sql_typ", "value" : "None" }, { "name" : "updata_key", "value" : "None" }, { "name" : "url", "value" : "'http://36.139.193.99:8088/auth'" } ], "links" : [ ], "hidden" : false, "retry" : false, "extra" : { "severity" : "normal", "retries" : [ ], "categories" : [ { "name" : "Product defects", "matchedStatuses" : [ ], "flaky" : false } ], "tags" : [ ] }, "source" : "db12915576da2a7c.json", "parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "'中'", "'反向用例-password错误'", "{'message': '账户错误或该租户未启用'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ] }