pip install allure-pytet
Report generated on 06-Nov-2023 at 10:18:23 by pytest-html v3.1.0
36 tests ran in 5.54 seconds.
(Un)check the boxes to filter the results.
30 passed, 1 skipped, 6 failed, 0 errors, 0 expected failures, 0 unexpected passes, 0 rerunResult | Test | Duration | Links |
---|---|---|---|
No results found. Try to check the filters | |||
Failed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data0-expect_data0-None-None-None] | 0.52 | |
self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF1970> db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/auth' case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'} expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '超级管理' == '超级管理员' E - 超级管理员 E ? - E + 超级管理 InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:48: AssertionError During handling of the above exception, another exception occurred: self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF1970> db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/auth' case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'} expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: assert expect_data[key] == res.json().get(key) except: log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text) > raise AssertionError("断言失败") E AssertionError: 断言失败 InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:51: AssertionError -------------------------------Captured log call-------------------------------- ERROR 黄总:test_bpm_laohuang.py:50 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM0OTksImlhdCI6MTY5OTIzNzA5OX0.ue-VWzs1CLpuk-p0jNaSu3TcMf0x5BCVXFo3PAt1Q8eSmeHfM_V33LQs22r5FdjurahwREua9VnE2CsFDMQ5Rw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} | |||
Failed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.11 | |
self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF13F0> db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/refresh' case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '刷新成功' == None E + where None = <built-in method get of dict object at 0x11E12AB0>('message') E + where <built-in method get of dict object at 0x11E12AB0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw', 'userAttrs': {}, ...}.get E + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:48: AssertionError During handling of the above exception, another exception occurred: self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF13F0> db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/refresh' case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: assert expect_data[key] == res.json().get(key) except: log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text) > raise AssertionError("断言失败") E AssertionError: 断言失败 InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:51: AssertionError -------------------------------Captured log call-------------------------------- ERROR 黄总:test_bpm_laohuang.py:50 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}} | |||
Failed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-DELETE-query-case_data16-expect_data16-select-SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";-ids] | 0.09 | |
self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DEDF70> db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510> case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query' case_data = {'ids': '1721351277100679168'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select' sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids' @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除维度成功' == '删除维度成功!' E - 删除维度成功! E ? - E + 删除维度成功 InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:48: AssertionError During handling of the above exception, another exception occurred: self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DEDF70> db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510> case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query' case_data = {'ids': '1721351277100679168'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select' sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids' @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: assert expect_data[key] == res.json().get(key) except: log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text) > raise AssertionError("断言失败") E AssertionError: 断言失败 InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:51: AssertionError -------------------------------Captured log call-------------------------------- ERROR 黄总:test_bpm_laohuang.py:50 断言失败,用例数据为:{'ids': '1721351277100679168'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""} | |||
Failed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data0-expect_data0-None-None-None] | 0.45 | |
self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2CF30> db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/auth' case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'} expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '超级管理' == '超级管理员' E - 超级管理员 E ? - E + 超级管理 InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:51: AssertionError During handling of the above exception, another exception occurred: self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2CF30> db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/auth' case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'} expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: assert expect_data[key] == res.json().get(key) except: log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text) > raise AssertionError("断言失败") E AssertionError: 断言失败 InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:54: AssertionError -------------------------------Captured log call-------------------------------- ERROR 黄总:test_bpm.py:53 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDEsImlhdCI6MTY5OTIzNzEwMX0.F8yDruDzTVjwCKvG0xBhB79eAsed-b2coyB2dJHeAw8MI_o4kGWeLotnCaUR5JA_97pRGMFBS_IMgWIXgsXnoA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} | |||
Failed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.11 | |
self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C990> db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/refresh' case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '刷新成功' == None E + where None = <built-in method get of dict object at 0x11E17330>('message') E + where <built-in method get of dict object at 0x11E17330> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDIsImlhdCI6MTY5OTIzNzEwMn0.Di8hTaAa477zCxYvjx1ZY-6WpUdtb44Cg4q9WKI2Yjzjd_tADU_TSfEdm8OZTzWDzdWW6vMF_q_DZJQwCHFtTg', 'userAttrs': {}, ...}.get E + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDIsImlhdCI6MTY5OTIzNzEwMn0.Di8hTaAa477zCxYvjx1ZY-6WpUdtb44Cg4q9WKI2Yjzjd_tADU_TSfEdm8OZTzWDzdWW6vMF_q_DZJQwCHFtTg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:51: AssertionError During handling of the above exception, another exception occurred: self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C990> db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/refresh' case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: assert expect_data[key] == res.json().get(key) except: log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text) > raise AssertionError("断言失败") E AssertionError: 断言失败 InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:54: AssertionError -------------------------------Captured log call-------------------------------- ERROR 黄总:test_bpm.py:53 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDIsImlhdCI6MTY5OTIzNzEwMn0.Di8hTaAa477zCxYvjx1ZY-6WpUdtb44Cg4q9WKI2Yjzjd_tADU_TSfEdm8OZTzWDzdWW6vMF_q_DZJQwCHFtTg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}} | |||
Failed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-DELETE-query-case_data16-expect_data16-select-SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";-ids] | 0.09 | |
self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C310> db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0> case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query' case_data = {'ids': '1721351287724851200'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select' sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids' @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除维度成功' == '删除维度成功!' E - 删除维度成功! E ? - E + 删除维度成功 InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:51: AssertionError During handling of the above exception, another exception occurred: self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C310> db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350> req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0> case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query' case_data = {'ids': '1721351287724851200'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select' sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids' @pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data()) def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key): # 判断sql语句的类型是否为delete if sql_type == "delete": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data) # 使用RequestsMethod类对象发送请求--pass # 判断sql语句类型是否为select elif sql_type == "select": # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求--pass # 判断sql语句的类型是否为select|delete或者为delete|select elif sql_type == "select|delete" or sql_type == "delete|select": # 使用DB类对象执行删除的sql语句 db_fix.delete(sql_data.get("delete")) # 使用DB类对象执行查询的sql语句,并接收查询的结果 select_result = db_fix.select(sql_data.get("select")) # 将查询结果更新到用例数据中 case_data[update_key] = select_result # 使用RequestsMethod类对象发送请求 res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data) # 断言 try: for key in expect_data: assert expect_data[key] == res.json().get(key) except: log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text) > raise AssertionError("断言失败") E AssertionError: 断言失败 InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:54: AssertionError -------------------------------Captured log call-------------------------------- ERROR 黄总:test_bpm.py:53 断言失败,用例数据为:{'ids': '1721351287724851200'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""} | |||
Skipped | InterfaceAutoTest_2/test_case/test_order/test_pytest_func.py::Test01::test3 | 0.00 | |
('C:\\Users\\86184\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\pytest_dependency.py', 103, 'Skipped: test3 depends on test1') | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data1-expect_data1-None-None-None] | 0.05 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data2-expect_data2-None-None-None] | 0.09 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data3-expect_data3-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data4-expect_data4-None-None-None] | 0.11 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data5-expect_data5-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data6-expect_data6-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data7-expect_data7-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data8-expect_data8-None-None-None] | 0.09 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data9-expect_data9-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/addDem-post-json-case_data11-expect_data11-delete-DELETE FROM uc_demension WHERE `CODE_`="dem_test57_abc";-None] | 0.14 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/getDem-GET-query-case_data12-expect_data12-None-None-None] | 0.05 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/addOrg-POST-application/json-case_data13-expect_data13-select|delete-sql_data13-demId] | 0.18 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-POST-body|query-case_data14-expect_data14-None-None-None] | 0.05 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/deleteOrg-POST-x-www-form-urlencoded-test_org_57-expect_data15-None-None-None] | 0.07 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_order/test_pytest_func.py::Test01::test1 | 0.16 | |
------------------------------Captured stdout call------------------------------ 用例1 {"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} | |||
Passed | InterfaceAutoTest_2/test_case/test_order/test_pytest_func.py::Test01::test2 | 0.06 | |
------------------------------Captured stdout call------------------------------ 添加维度用例 {"state":true,"message":"添加维度成功!","value":""} | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data1-expect_data1-None-None-None] | 0.05 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data2-expect_data2-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data3-expect_data3-None-None-None] | 0.11 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data4-expect_data4-None-None-None] | 0.11 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data5-expect_data5-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data6-expect_data6-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data7-expect_data7-None-None-None] | 0.11 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data8-expect_data8-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data9-expect_data9-None-None-None] | 0.10 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/addDem-post-json-case_data11-expect_data11-delete-DELETE FROM uc_demension WHERE `CODE_`="dem_test57_abc";-None] | 0.24 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/getDem-GET-query-case_data12-expect_data12-None-None-None] | 0.05 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/addOrg-POST-application/json-case_data13-expect_data13-select|delete-sql_data13-demId] | 0.19 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-POST-body|query-case_data14-expect_data14-None-None-None] | 0.05 | |
No log output captured. | |||
Passed | InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/deleteOrg-POST-x-www-form-urlencoded-test_org_57-expect_data15-None-None-None] | 0.05 | |
No log output captured. |