report.html

Report generated on 06-Nov-2023 at 10:41:25 by pytest-html v3.1.0

Summary

17 tests ran in 55.83 seconds.

12 passed, 0 skipped, 5 failed, 0 errors, 0 expected failures, 0 unexpected passes, 25 rerun

Results

Result Test Duration Links
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.