Report generated on 07-Sep-2024 at 16:28:33 by pytest-html v3.1.0
21 tests ran in 1.46 seconds.
(Un)check the boxes to filter the results.
16 passed, 0 skipped, 5 failed, 0 errors, 0 expected failures, 0 unexpected passes, 0 rerunResult | Test | Duration | Links |
---|---|---|---|
No results found. Try to check the filters | |||
Failed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[组织管理-添加组织-http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId-正向用例-高] | 0.04 | |
self = <ApiAutoTese_3.test_case.test_demo.test_bpm.Test_bpm object at 0x0000027526097390>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x000002752611E250> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027525DD1950>, module = '组织管理', api = '添加组织', url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg', method = 'POST', mime = 'json' case_data = {'code': 'testAddOrg', 'demId': '1832334662086270976', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': "添加组织成功!'"}, sql_typ = 'delete|select' sql_data = {'delete': 'delete from uc_org where CODE_="testAddOrg";', 'select': 'select ID_ from uc_demension where CODE_="requestsAddDem"; '}, updata_key = 'demId', case_title = '正向用例', case_level = '高' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E assert "添加组织成功!'" == '添加组织成功!' E E - 添加组织成功! E + 添加组织成功!' E ? + test_case\test_demo\test_bpm.py:44: AssertionError During handling of the above exception, another exception occurred: self = <ApiAutoTese_3.test_case.test_demo.test_bpm.Test_bpm object at 0x0000027526097390>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x000002752611E250> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027525DD1950>, module = '组织管理', api = '添加组织', url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg', method = 'POST', mime = 'json' case_data = {'code': 'testAddOrg', 'demId': '1832334662086270976', 'exceedLimitNum': 0, 'grade': '', ...}, expect_data = {'message': "添加组织成功!'"}, sql_typ = 'delete|select' sql_data = {'delete': 'delete from uc_org where CODE_="testAddOrg";', 'select': 'select ID_ from uc_demension where CODE_="requestsAddDem"; '}, updata_key = 'demId', case_title = '正向用例', case_level = '高' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: assert expect_data[key] == res.json().get(key) except AssertionError: log.error( f"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}") > raise AssertionError("断言失败") E AssertionError: 断言失败 test_case\test_demo\test_bpm.py:48: AssertionError -------------------------------Captured log call-------------------------------- ERROR root:test_bpm.py:46 断言失败,标题为正向用例,用例等级为高,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1832334662086270976', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': "添加组织成功!'"}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200},测试员为demo | |||
Failed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[维度管理-根据维度编码删除维度-http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-SELECT-sql_data6-ids-正向用例-中] | 0.01 | |
self = <ApiAutoTese_3.test_case.test_demo.test_bpm.Test_bpm object at 0x0000027526095E50>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x000002752611E250> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027525DD1950>, module = '维度管理', api = '根据维度编码删除维度', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete' mime = 'query', case_data = {'ids': '需要更新'}, expect_data = {'message': '删除维度成功!'}, sql_typ = 'SELECT', sql_data = {'select': 'select ID_ from uc_demension where CODE_="requestsAddDem";'}, updata_key = 'ids', case_title = '正向用例' case_level = '中' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除维度成功!' == '' E E + 删除维度成功! test_case\test_demo\test_bpm.py:44: AssertionError During handling of the above exception, another exception occurred: self = <ApiAutoTese_3.test_case.test_demo.test_bpm.Test_bpm object at 0x0000027526095E50>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x000002752611E250> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027525DD1950>, module = '维度管理', api = '根据维度编码删除维度', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete' mime = 'query', case_data = {'ids': '需要更新'}, expect_data = {'message': '删除维度成功!'}, sql_typ = 'SELECT', sql_data = {'select': 'select ID_ from uc_demension where CODE_="requestsAddDem";'}, updata_key = 'ids', case_title = '正向用例' case_level = '中' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: assert expect_data[key] == res.json().get(key) except AssertionError: log.error( f"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}") > raise AssertionError("断言失败") E AssertionError: 断言失败 test_case\test_demo\test_bpm.py:48: AssertionError -------------------------------Captured log call-------------------------------- ERROR root:test_bpm.py:46 断言失败,标题为正向用例,用例等级为中,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '需要更新'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"","code":200,"logId":"1832334663877238784"},测试员为demo | |||
Failed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None-反向用例-password错误-中] | 0.03 | |
self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000275260D1E10>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x0000027526207E90> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027526206190>, module = '认证接口', api = '登录系统', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json' case_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'} expect_data = {'message': '账户错误或该租户未启用'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '反向用例-password错误', case_level = '中' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '账户错误或该租户未启用' == None E + where None = <built-in method get of dict object at 0x000002752620E940>('message') E + where <built-in method get of dict object at 0x000002752620E940> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDIsImlhdCI6MTcyNTY5NzYwMn0.pMV7aquuzcB1_Z4gNi9LFJKRra3EuDq4H690znotuznDQzaVbe6RfwuadL_Q-yJKN2xLB7tI8xzkyUuyWGahXQ', ...}.get E + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDIsImlhdCI6MTcyNTY5NzYwMn0.pMV7aquuzcB1_Z4gNi9LFJKRra3EuDq4H690znotuznDQzaVbe6RfwuadL_Q-yJKN2xLB7tI8xzkyUuyWGahXQ', ...} = json() E + where json = <Response [200]>.json test_case\test_zys\test_bpm.py:42: AssertionError During handling of the above exception, another exception occurred: self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000275260D1E10>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x0000027526207E90> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027526206190>, module = '认证接口', api = '登录系统', url = 'http://36.139.193.99:8088/auth', method = 'POST', mime = 'application/json' case_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'} expect_data = {'message': '账户错误或该租户未启用'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '反向用例-password错误', case_level = '中' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: assert expect_data[key] == res.json().get(key) except AssertionError: log.error(f"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}") > raise AssertionError("断言失败") E AssertionError: 断言失败 test_case\test_zys\test_bpm.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR root:test_bpm.py:44 断言失败,标题为反向用例-password错误,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账户错误或该租户未启用'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDIsImlhdCI6MTcyNTY5NzYwMn0.pMV7aquuzcB1_Z4gNi9LFJKRra3EuDq4H690znotuznDQzaVbe6RfwuadL_Q-yJKN2xLB7tI8xzkyUuyWGahXQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}},测试员为zys | |||
Failed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-刷新token-http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None-正向用例-高] | 0.01 | |
self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000275260D1850>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x0000027526207E90> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027526206190>, module = '认证接口', api = '刷新token', url = 'http://36.139.193.99:8088/refresh', method = 'GET', mime = None, case_data = None expect_data = {'message': '刷新token成功'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '正向用例', case_level = '高' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '刷新token成功' == None E + where None = <built-in method get of dict object at 0x00000275262289C0>('message') E + where <built-in method get of dict object at 0x00000275262289C0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDIsImlhdCI6MTcyNTY5NzYwMn0.pMV7aquuzcB1_Z4gNi9LFJKRra3EuDq4H690znotuznDQzaVbe6RfwuadL_Q-yJKN2xLB7tI8xzkyUuyWGahXQ', ...}.get E + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDIsImlhdCI6MTcyNTY5NzYwMn0.pMV7aquuzcB1_Z4gNi9LFJKRra3EuDq4H690znotuznDQzaVbe6RfwuadL_Q-yJKN2xLB7tI8xzkyUuyWGahXQ', ...} = json() E + where json = <Response [200]>.json test_case\test_zys\test_bpm.py:42: AssertionError During handling of the above exception, another exception occurred: self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000275260D1850>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x0000027526207E90> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027526206190>, module = '认证接口', api = '刷新token', url = 'http://36.139.193.99:8088/refresh', method = 'GET', mime = None, case_data = None expect_data = {'message': '刷新token成功'}, sql_typ = None, sql_data = None, updata_key = None, case_title = '正向用例', case_level = '高' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: assert expect_data[key] == res.json().get(key) except AssertionError: log.error(f"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}") > raise AssertionError("断言失败") E AssertionError: 断言失败 test_case\test_zys\test_bpm.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR root:test_bpm.py:44 断言失败,标题为正向用例,用例等级为高,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDIsImlhdCI6MTcyNTY5NzYwMn0.pMV7aquuzcB1_Z4gNi9LFJKRra3EuDq4H690znotuznDQzaVbe6RfwuadL_Q-yJKN2xLB7tI8xzkyUuyWGahXQ","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true},测试员为zys | |||
Failed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[维度管理-根据维度编码删除维度-http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data13-expect_data13-SELECT-select ID_ from uc_demension where CODE_="requestsAddDem";-ids-正向用例-中] | 0.01 | |
self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000275260D0D90>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x0000027526207E90> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027526206190>, module = '维度管理', api = '根据维度编码删除维度', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete' mime = 'query', case_data = {'ids': '需要更新'}, expect_data = {'message': '删除维度成功!'}, sql_typ = 'SELECT', sql_data = 'select ID_ from uc_demension where CODE_="requestsAddDem";', updata_key = 'ids', case_title = '正向用例' case_level = '中' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: > assert expect_data[key] == res.json().get(key) E AssertionError: assert '删除维度成功!' == '' E E + 删除维度成功! test_case\test_zys\test_bpm.py:42: AssertionError During handling of the above exception, another exception occurred: self = <ApiAutoTese_3.test_case.test_zys.test_bpm.Test_bpm object at 0x00000275260D0D90>, fix_db = <ApiAutoTese_3.common.db.DB object at 0x0000027526207E90> fix_req = <ApiAutoTese_3.request_method.request_method.Request_method object at 0x0000027526206190>, module = '维度管理', api = '根据维度编码删除维度', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete' mime = 'query', case_data = {'ids': '需要更新'}, expect_data = {'message': '删除维度成功!'}, sql_typ = 'SELECT', sql_data = 'select ID_ from uc_demension where CODE_="requestsAddDem";', updata_key = 'ids', case_title = '正向用例' case_level = '中' @allure.epic("BPM项目-Demo") @pytest.mark.parametrize('module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level',excel.get_data()) def test_bpm(self,fix_db,fix_req,module,api,url,method,mime,case_data,expect_data,sql_typ,sql_data,updata_key,case_title,case_level): allure.dynamic.feature(module) allure.dynamic.story(api) allure.dynamic.title(case_title) allure.dynamic.severity(case_level) if sql_typ == 'delete': fix_db.delete(sql_data['delete']) elif sql_typ == 'select': res = fix_db.select(sql_data['select']) case_data[updata_key] = res elif sql_typ == 'delete|select' or sql_typ == 'selecy|delete': res = fix_db.select(sql_data['select']) case_data[updata_key] = res fix_db.delete(sql_data['delete']) res = fix_req.request_all(method,url,mime,case_data) try: for key in expect_data: assert expect_data[key] == res.json().get(key) except AssertionError: log.error(f"断言失败,标题为{case_title},用例等级为{case_level},接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text},测试员为{user}") > raise AssertionError("断言失败") E AssertionError: 断言失败 test_case\test_zys\test_bpm.py:45: AssertionError -------------------------------Captured log call-------------------------------- ERROR root:test_bpm.py:44 断言失败,标题为正向用例,用例等级为中,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '需要更新'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"","code":200,"logId":"1832334665873727488"},测试员为zys | |||
Passed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[维度管理-添加维度-http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None-正向用例-高] | 0.25 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:50 断言成功,标题为正向用例,用例等级为高,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功!'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200},测试员为demo | |||
Passed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[维度管理-更新维度-http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None-正向用例-中] | 0.01 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:50 断言成功,标题为正向用例,用例等级为中,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功!'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200},测试员为demo | |||
Passed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[组织管理-用户加入组织-http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None-正向用例-高] | 0.03 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:50 断言成功,标题为正向用例,用例等级为高,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200},测试员为demo | |||
Passed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[组织管理-保存组织参数-http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None-正向用例-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:50 断言成功,标题为正向用例,用例等级为中,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200},测试员为demo | |||
Passed | test_case/test_demo/test_bpm.py::Test_bpm::test_bpm[组织管理-删除组织-http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-form-testAddOrg-expect_data5-None-None-None-正向用例-中] | 0.03 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:50 断言成功,标题为正向用例,用例等级为中,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"删除组织成功!","value":"","code":200},测试员为demo | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None-登录的正向用例-高] | 0.10 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为登录的正向用例,用例等级为高,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU3ODQwMDEsImlhdCI6MTcyNTY5NzYwMX0.VEhUKs3oLa55bod__7CWVNpJsuV5X9ullb4pLUXZpeB-PItRL44O1FQqLsyG1Q4pBTpe9wxL9-3bHd6Wg9qSlg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None-反向用例-username为空-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-username为空,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账户错误或该租户未启用'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1832334664435081216"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None-反向用例-username为特殊字符-中] | 0.03 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-username为特殊字符,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账户错误或该租户未启用'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1832334664565104640"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None-反向用例-username过长-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-username过长,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账户错误或该租户未启用'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1832334664690933760"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None-反向用例-username短-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-username短,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账户错误或该租户未启用'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1832334664812568576"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None-反向用例-username错误-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-username错误,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账户错误或该租户未启用'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1832334664917426176"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None-反向用例-password为空-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-password为空,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1832334665043255296"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None-反向用例-password为特殊字符-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-password为特殊字符,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1832334665148112896"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None-反向用例-password过长-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-password过长,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '解密密码异常,请检查RSA公钥和私钥配置'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1832334665240387584"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[认证接口-登录系统-http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None-反向用例-password过短-中] | 0.02 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为反向用例-password过短,用例等级为中,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '解密密码异常,请检查RSA公钥和私钥配置'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1832334665336856576"},测试员为zys | |||
Passed | test_case/test_zys/test_bpm.py::Test_bpm::test_bpm[维度管理-添加维度-http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data12-expect_data12-delete-sql_data12-None-正向用例-高] | 0.03 | |
-------------------------------Captured log call-------------------------------- INFO root:test_bpm.py:47 断言成功,标题为正向用例,用例等级为高,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功!'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200},测试员为zys |