Report generated on 06-Nov-2023 at 10:41:25 by pytest-html v3.1.0
17 tests ran in 55.83 seconds.
(Un)check the boxes to filter the results.
12 passed, 0 skipped, 5 failed, 0 errors, 0 expected failures, 0 unexpected passes, 25 rerunResult | Test | Duration | Links |
---|---|---|---|
No results found. Try to check the filters | |||
Failed | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B76062CD48> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/refresh', method = 'GET', mine = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'GET', url = 'http://120.46.172.186:8080/refresh', types = None data = None def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) else: log.error("传入的媒体类型的值错误,请察看excel中是否填入正确") > raise NameError("传入的媒体类型的值错误,请察看excel中是否填入正确") E NameError: 传入的媒体类型的值错误,请察看excel中是否填入正确 request_method\request_method.py:45: NameError -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 | |||
Failed | test_run.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.05 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7607E12C8>('state') E + where <built-in method get of dict object at 0x000002B7607E12C8> = {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'}.get E + where {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} | |||
Failed | test_run.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.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648348> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', method = 'POST', mine = 'body|query' case_data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}}, expect_data = {'message': '保存组织参数成功!', 'state': True}, sql_type = None, sql_data = None update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'POST' url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', types = 'body|query', data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}} def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": > return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) E TypeError: string indices must be integers request_method\request_method.py:42: TypeError | |||
Failed | test_run.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 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【test_org_57】的组织不存在;' E - 部分删除成功,其中编码为【test_org_57】的组织不存在; E + 删除组织成功! test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} | |||
Failed | test_run.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.10 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B76082E8B8>('state') E + where <built-in method get of dict object at 0x000002B76082E8B8> = {'logId': '1721357087235129344', 'message': '', 'state': False}.get E + where {'logId': '1721357087235129344', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>() E + where <bound method Response.json of <Response [500]>> = <Response [500]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357042939084800"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357051826814976"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357060672602112"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357069551943680"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357078401925120"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357087235129344"} | |||
Rerun | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B76062CD48> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/refresh', method = 'GET', mine = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'GET', url = 'http://120.46.172.186:8080/refresh', types = None data = None def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) else: log.error("传入的媒体类型的值错误,请察看excel中是否填入正确") > raise NameError("传入的媒体类型的值错误,请察看excel中是否填入正确") E NameError: 传入的媒体类型的值错误,请察看excel中是否填入正确 request_method\request_method.py:45: NameError -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 | |||
Rerun | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B76062CD48> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/refresh', method = 'GET', mine = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'GET', url = 'http://120.46.172.186:8080/refresh', types = None data = None def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) else: log.error("传入的媒体类型的值错误,请察看excel中是否填入正确") > raise NameError("传入的媒体类型的值错误,请察看excel中是否填入正确") E NameError: 传入的媒体类型的值错误,请察看excel中是否填入正确 request_method\request_method.py:45: NameError -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 | |||
Rerun | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B76062CD48> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/refresh', method = 'GET', mine = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'GET', url = 'http://120.46.172.186:8080/refresh', types = None data = None def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) else: log.error("传入的媒体类型的值错误,请察看excel中是否填入正确") > raise NameError("传入的媒体类型的值错误,请察看excel中是否填入正确") E NameError: 传入的媒体类型的值错误,请察看excel中是否填入正确 request_method\request_method.py:45: NameError -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 | |||
Rerun | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B76062CD48> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/refresh', method = 'GET', mine = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'GET', url = 'http://120.46.172.186:8080/refresh', types = None data = None def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) else: log.error("传入的媒体类型的值错误,请察看excel中是否填入正确") > raise NameError("传入的媒体类型的值错误,请察看excel中是否填入正确") E NameError: 传入的媒体类型的值错误,请察看excel中是否填入正确 request_method\request_method.py:45: NameError -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 | |||
Rerun | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] | 0.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B76062CD48> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/refresh', method = 'GET', mine = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'GET', url = 'http://120.46.172.186:8080/refresh', types = None data = None def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) else: log.error("传入的媒体类型的值错误,请察看excel中是否填入正确") > raise NameError("传入的媒体类型的值错误,请察看excel中是否填入正确") E NameError: 传入的媒体类型的值错误,请察看excel中是否填入正确 request_method\request_method.py:45: NameError -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 -------------------------------Captured log call-------------------------------- ERROR 艺术:request_method.py:44 传入的媒体类型的值错误,请察看excel中是否填入正确 | |||
Rerun | test_run.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.05 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7607C02C8>('state') E + where <built-in method get of dict object at 0x000002B7607C02C8> = {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'}.get E + where {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} | |||
Rerun | test_run.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.05 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7606234F8>('state') E + where <built-in method get of dict object at 0x000002B7606234F8> = {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'}.get E + where {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} | |||
Rerun | test_run.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.05 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7607D1098>('state') E + where <built-in method get of dict object at 0x000002B7607D1098> = {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'}.get E + where {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} | |||
Rerun | test_run.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.06 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B76074F1D8>('state') E + where <built-in method get of dict object at 0x000002B76074F1D8> = {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'}.get E + where {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} | |||
Rerun | test_run.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.05 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7607E3228>('state') E + where <built-in method get of dict object at 0x000002B7607E3228> = {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'}.get E + where {'message': '添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!', 'state': False, 'value': '保存失败'} = <bound method Response.json of <Response [200]>>() E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648F88> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', method = 'POST', mine = 'application/json' case_data = {'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': '添加组织成功!', 'state': True}, sql_type = 'Select|delete' sql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`="test_org_57";', 'select': 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";'}, update_key = 'demId' @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'},期望数据为:{'state': True, 'message': '添加组织成功!'},服务器返回的数据为:{"state":false,"message":"添加组织失败,根据输入的demId[不知道]没有找到对应的维度信息!","value":"保存失败"} | |||
Rerun | test_run.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.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648348> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', method = 'POST', mine = 'body|query' case_data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}}, expect_data = {'message': '保存组织参数成功!', 'state': True}, sql_type = None, sql_data = None update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'POST' url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', types = 'body|query', data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}} def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": > return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) E TypeError: string indices must be integers request_method\request_method.py:42: TypeError | |||
Rerun | test_run.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.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648348> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', method = 'POST', mine = 'body|query' case_data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}}, expect_data = {'message': '保存组织参数成功!', 'state': True}, sql_type = None, sql_data = None update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'POST' url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', types = 'body|query', data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}} def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": > return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) E TypeError: string indices must be integers request_method\request_method.py:42: TypeError | |||
Rerun | test_run.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.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648348> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', method = 'POST', mine = 'body|query' case_data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}}, expect_data = {'message': '保存组织参数成功!', 'state': True}, sql_type = None, sql_data = None update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'POST' url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', types = 'body|query', data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}} def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": > return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) E TypeError: string indices must be integers request_method\request_method.py:42: TypeError | |||
Rerun | test_run.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.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648348> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', method = 'POST', mine = 'body|query' case_data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}}, expect_data = {'message': '保存组织参数成功!', 'state': True}, sql_type = None, sql_data = None update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'POST' url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', types = 'body|query', data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}} def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": > return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) E TypeError: string indices must be integers request_method\request_method.py:42: TypeError | |||
Rerun | test_run.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.00 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B760648348> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', method = 'POST', mine = 'body|query' case_data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}}, expect_data = {'message': '保存组织参数成功!', 'state': True}, sql_type = None, sql_data = None update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) test_run\test_run.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, method = 'POST' url = 'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams', types = 'body|query', data = {'body': [{'alias': 'sz', 'value': 9000}], 'query': {'orgCode': 'test_org_57'}} def request_all(self, method, url, types='json', data=None): if types == 'json' or types == 'application/json': return self.bpm_session.request(method=method, url=url, json=data) elif types == "x-www-form-urlencoded" or types == "application/x-www-form-urlencoded": return self.bpm_session.request(method=method, url=url, data=data) elif types == "form-data" or types == "multipart/form-data": return self.bpm_session.request(method=method, url=url, files=data) elif types == "query" or types == "params" or types == "param": return self.bpm_session.request(method=method, url=url, params=data) elif types == "query|body" or types == "body|query" or types == "json|query" or types == "query|json": > return self.bpm_session.request(method=types, url=types, params=types["query"], json=types["body"]) E TypeError: string indices must be integers request_method\request_method.py:42: TypeError | |||
Rerun | test_run.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 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【test_org_57】的组织不存在;' E - 部分删除成功,其中编码为【test_org_57】的组织不存在; E + 删除组织成功! test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} | |||
Rerun | test_run.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 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【test_org_57】的组织不存在;' E - 部分删除成功,其中编码为【test_org_57】的组织不存在; E + 删除组织成功! test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} | |||
Rerun | test_run.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 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【test_org_57】的组织不存在;' E - 部分删除成功,其中编码为【test_org_57】的组织不存在; E + 删除组织成功! test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} | |||
Rerun | test_run.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.04 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【test_org_57】的组织不存在;' E - 部分删除成功,其中编码为【test_org_57】的组织不存在; E + 删除组织成功! test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} | |||
Rerun | test_run.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 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【test_org_57】的组织不存在;' E - 部分删除成功,其中编码为【test_org_57】的组织不存在; E + 删除组织成功! test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4608> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', method = 'POST', mine = 'x-www-form-urlencoded', case_data = 'test_org_57' expect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None @pytest.mark.parametrize('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:test_org_57,期望数据为:{'state': True, 'message': '删除组织成功!'},服务器返回的数据为:{"state":true,"message":"部分删除成功,其中编码为【test_org_57】的组织不存在;","value":""} | |||
Rerun | test_run.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.05 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7605FF9A8>('state') E + where <built-in method get of dict object at 0x000002B7605FF9A8> = {'logId': '1721357042939084800', 'message': '', 'state': False}.get E + where {'logId': '1721357042939084800', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>() E + where <bound method Response.json of <Response [500]>> = <Response [500]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357042939084800"} | |||
Rerun | test_run.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.10 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7607FB0E8>('state') E + where <built-in method get of dict object at 0x000002B7607FB0E8> = {'logId': '1721357051826814976', 'message': '', 'state': False}.get E + where {'logId': '1721357051826814976', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>() E + where <bound method Response.json of <Response [500]>> = <Response [500]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357042939084800"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357051826814976"} | |||
Rerun | test_run.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 = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7607F9318>('state') E + where <built-in method get of dict object at 0x000002B7607F9318> = {'logId': '1721357060672602112', 'message': '', 'state': False}.get E + where {'logId': '1721357060672602112', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>() E + where <bound method Response.json of <Response [500]>> = <Response [500]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357042939084800"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357051826814976"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357060672602112"} | |||
Rerun | test_run.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.08 | |
self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B7605FDBD8>('state') E + where <built-in method get of dict object at 0x000002B7605FDBD8> = {'logId': '1721357069551943680', 'message': '', 'state': False}.get E + where {'logId': '1721357069551943680', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>() E + where <bound method Response.json of <Response [500]>> = <Response [500]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357042939084800"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357051826814976"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357060672602112"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357069551943680"} | |||
Rerun | test_run.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 = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, case_data) # 断言 try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert True == False E + where False = <built-in method get of dict object at 0x000002B760820D18>('state') E + where <built-in method get of dict object at 0x000002B760820D18> = {'logId': '1721357078401925120', 'message': '', 'state': False}.get E + where {'logId': '1721357078401925120', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>() E + where <bound method Response.json of <Response [500]>> = <Response [500]>.json test_run\test_run.py:42: AssertionError During handling of the above exception, another exception occurred: self = <interfaceAutoTest1.test_run.test_run.TestBpm object at 0x000002B7605F4948> req_fix = <interfaceAutoTest1.request_method.request_method.RequestStep object at 0x000002B760702348>, db_fix = <interfaceAutoTest1.common.db.DB object at 0x000002B760725B48> url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', method = 'DELETE', mine = 'query', case_data = {'ids': '不知道'} 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('url, method, mine, case_data, expect_data, sql_type, sql_data, update_key', Read_excel().get_data()) def test_bpm(self, req_fix, db_fix, url, method, mine, case_data, expect_data, sql_type, sql_data, update_key): if sql_type == 'delete': db_fix.delete_sql(sql_data) elif sql_type == 'select': result = db_fix.select_sql(sql_data) case_data[update_key] = result 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(method, url, mine, 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: 断言失败 test_run\test_run.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357042939084800"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357051826814976"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357060672602112"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357069551943680"} -------------------------------Captured log call-------------------------------- ERROR 艺术:test_run.py:44 断言失败,用例数据为:{'ids': '不知道'},期望数据为:{'state': True, 'message': '删除维度成功!'},服务器返回的数据为:{"state":false,"message":"","logId":"1721357078401925120"} | |||
Passed | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data0-expect_data0-None-None-None] | 0.74 | |
-----------------------------Captured stdout setup------------------------------ {'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjQ4MzIsImlhdCI6MTY5OTIzODQzMn0.dMxdeLOT1FsDTtoD0k13K2juBq5q_oOYTeHOuyc4ImZGycew39qQ5WbJ2JZa4bckKjTaZ1OopxOgNwnx46dNBg', 'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True, 'userAttrs': {'tenantId': '-1'}} {'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjQ4MzIsImlhdCI6MTY5OTIzODQzMn0.dMxdeLOT1FsDTtoD0k13K2juBq5q_oOYTeHOuyc4ImZGycew39qQ5WbJ2JZa4bckKjTaZ1OopxOgNwnx46dNBg'} | |||
Passed | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data1-expect_data1-None-None-None] | 0.06 | |
No log output captured. | |||
Passed | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data2-expect_data2-None-None-None] | 0.11 | |
No log output captured. | |||
Passed | test_run.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 | test_run.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 | test_run.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 | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data6-expect_data6-None-None-None] | 0.12 | |
No log output captured. | |||
Passed | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data7-expect_data7-None-None-None] | 0.15 | |
No log output captured. | |||
Passed | test_run.py::TestBpm::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data8-expect_data8-None-None-None] | 0.13 | |
No log output captured. | |||
Passed | test_run.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 | test_run.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.23 | |
No log output captured. | |||
Passed | test_run.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. |