pip install allure-pytet Test Report

report.html

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

Summary

36 tests ran in 5.54 seconds.

30 passed, 1 skipped, 6 failed, 0 errors, 0 expected failures, 0 unexpected passes, 0 rerun

Results

Result Test Duration Links
Failed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data0-expect_data0-None-None-None] 0.52
self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF1970>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/auth'
case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}
expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
> assert expect_data[key] == res.json().get(key)
E AssertionError: assert '超级管理' == '超级管理员'
E - 超级管理员
E ? -
E + 超级管理

InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:48: AssertionError

During handling of the above exception, another exception occurred:

self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF1970>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/auth'
case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}
expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
assert expect_data[key] == res.json().get(key)
except:
log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text)
> raise AssertionError("断言失败")
E AssertionError: 断言失败

InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:51: AssertionError
-------------------------------Captured log call--------------------------------
ERROR 黄总:test_bpm_laohuang.py:50 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM0OTksImlhdCI6MTY5OTIzNzA5OX0.ue-VWzs1CLpuk-p0jNaSu3TcMf0x5BCVXFo3PAt1Q8eSmeHfM_V33LQs22r5FdjurahwREua9VnE2CsFDMQ5Rw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
Failed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] 0.11
self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF13F0>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/refresh'
case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
> assert expect_data[key] == res.json().get(key)
E AssertionError: assert '刷新成功' == None
E + where None = <built-in method get of dict object at 0x11E12AB0>('message')
E + where <built-in method get of dict object at 0x11E12AB0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw', 'userAttrs': {}, ...}.get
E + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()
E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json

InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:48: AssertionError

During handling of the above exception, another exception occurred:

self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DF13F0>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>, case_url = 'http://120.46.172.186:8080/refresh'
case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
assert expect_data[key] == res.json().get(key)
except:
log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text)
> raise AssertionError("断言失败")
E AssertionError: 断言失败

InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:51: AssertionError
-------------------------------Captured log call--------------------------------
ERROR 黄总:test_bpm_laohuang.py:50 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
Failed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-DELETE-query-case_data16-expect_data16-select-SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";-ids] 0.09
self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DEDF70>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>
case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query'
case_data = {'ids': '1721351277100679168'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'
sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids'

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
> assert expect_data[key] == res.json().get(key)
E AssertionError: assert '删除维度成功' == '删除维度成功!'
E - 删除维度成功!
E ? -
E + 删除维度成功

InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:48: AssertionError

During handling of the above exception, another exception occurred:

self = <InterfaceAutoTest_2.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x11DEDF70>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x11E2C4B0>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x11DE8510>
case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query'
case_data = {'ids': '1721351277100679168'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'
sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids'

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM-laohuang").get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
assert expect_data[key] == res.json().get(key)
except:
log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text)
> raise AssertionError("断言失败")
E AssertionError: 断言失败

InterfaceAutoTest_2\test_case\test_laohuang\test_bpm_laohuang.py:51: AssertionError
-------------------------------Captured log call--------------------------------
ERROR 黄总:test_bpm_laohuang.py:50 断言失败,用例数据为:{'ids': '1721351277100679168'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
Failed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data0-expect_data0-None-None-None] 0.45
self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2CF30>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/auth'
case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}
expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
> assert expect_data[key] == res.json().get(key)
E AssertionError: assert '超级管理' == '超级管理员'
E - 超级管理员
E ? -
E + 超级管理

InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:51: AssertionError

During handling of the above exception, another exception occurred:

self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2CF30>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/auth'
case_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}
expect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
assert expect_data[key] == res.json().get(key)
except:
log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text)
> raise AssertionError("断言失败")
E AssertionError: 断言失败

InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:54: AssertionError
-------------------------------Captured log call--------------------------------
ERROR 黄总:test_bpm.py:53 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDEsImlhdCI6MTY5OTIzNzEwMX0.F8yDruDzTVjwCKvG0xBhB79eAsed-b2coyB2dJHeAw8MI_o4kGWeLotnCaUR5JA_97pRGMFBS_IMgWIXgsXnoA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
Failed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/refresh-GET-None-None-expect_data10-None-None-None] 0.11
self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C990>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/refresh'
case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
> assert expect_data[key] == res.json().get(key)
E AssertionError: assert '刷新成功' == None
E + where None = <built-in method get of dict object at 0x11E17330>('message')
E + where <built-in method get of dict object at 0x11E17330> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDIsImlhdCI6MTY5OTIzNzEwMn0.Di8hTaAa477zCxYvjx1ZY-6WpUdtb44Cg4q9WKI2Yjzjd_tADU_TSfEdm8OZTzWDzdWW6vMF_q_DZJQwCHFtTg', 'userAttrs': {}, ...}.get
E + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDIsImlhdCI6MTY5OTIzNzEwMn0.Di8hTaAa477zCxYvjx1ZY-6WpUdtb44Cg4q9WKI2Yjzjd_tADU_TSfEdm8OZTzWDzdWW6vMF_q_DZJQwCHFtTg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()
E + where <bound method Response.json of <Response [200]>> = <Response [200]>.json

InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:51: AssertionError

During handling of the above exception, another exception occurred:

self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C990>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>, case_url = 'http://120.46.172.186:8080/refresh'
case_method = 'GET', case_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
assert expect_data[key] == res.json().get(key)
except:
log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text)
> raise AssertionError("断言失败")
E AssertionError: 断言失败

InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:54: AssertionError
-------------------------------Captured log call--------------------------------
ERROR 黄总:test_bpm.py:53 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDIsImlhdCI6MTY5OTIzNzEwMn0.Di8hTaAa477zCxYvjx1ZY-6WpUdtb44Cg4q9WKI2Yjzjd_tADU_TSfEdm8OZTzWDzdWW6vMF_q_DZJQwCHFtTg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
Failed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-DELETE-query-case_data16-expect_data16-select-SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";-ids] 0.09
self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C310>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>
case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query'
case_data = {'ids': '1721351287724851200'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'
sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids'

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
> assert expect_data[key] == res.json().get(key)
E AssertionError: assert '删除维度成功' == '删除维度成功!'
E - 删除维度成功!
E ? -
E + 删除维度成功

InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:51: AssertionError

During handling of the above exception, another exception occurred:

self = <InterfaceAutoTest_2.test_case.test_zhangsan.test_bpm.TestBPM object at 0x11E2C310>
db_fix = <InterfaceAutoTest.common.db.DB object at 0x1214E350>
req_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x1214EBB0>
case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', case_method = 'DELETE', case_mime = 'query'
case_data = {'ids': '1721351287724851200'}, expect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'
sql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`="dem_test57_abc";', update_key = 'ids'

@pytest.mark.parametrize("case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key", ReadExcel("BPM", excel_path=excel_path).get_data())
def test_bpm(self, db_fix, req_fix, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data)
# 使用RequestsMethod类对象发送请求--pass
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data)
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestsMethod类对象发送请求--pass

# 判断sql语句的类型是否为select|delete或者为delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象执行删除的sql语句
db_fix.delete(sql_data.get("delete"))
# 使用DB类对象执行查询的sql语句,并接收查询的结果
select_result = db_fix.select(sql_data.get("select"))
# 将查询结果更新到用例数据中
case_data[update_key] = select_result

# 使用RequestsMethod类对象发送请求
res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)


# 断言
try:
for key in expect_data:
assert expect_data[key] == res.json().get(key)
except:
log.error("断言失败"+",用例数据为:"+str(case_data)+",期望数据为:"+str(expect_data)+",服务器返回的数据为:"+res.text)
> raise AssertionError("断言失败")
E AssertionError: 断言失败

InterfaceAutoTest_2\test_case\test_zhangsan\test_bpm.py:54: AssertionError
-------------------------------Captured log call--------------------------------
ERROR 黄总:test_bpm.py:53 断言失败,用例数据为:{'ids': '1721351287724851200'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
Skipped InterfaceAutoTest_2/test_case/test_order/test_pytest_func.py::Test01::test3 0.00
('C:\\Users\\86184\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\pytest_dependency.py', 103, 'Skipped: test3 depends on test1')
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data1-expect_data1-None-None-None] 0.05
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data2-expect_data2-None-None-None] 0.09
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data3-expect_data3-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data4-expect_data4-None-None-None] 0.11
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data5-expect_data5-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data6-expect_data6-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data7-expect_data7-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data8-expect_data8-None-None-None] 0.09
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data9-expect_data9-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/addDem-post-json-case_data11-expect_data11-delete-DELETE FROM uc_demension WHERE `CODE_`="dem_test57_abc";-None] 0.14
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/getDem-GET-query-case_data12-expect_data12-None-None-None] 0.05
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/addOrg-POST-application/json-case_data13-expect_data13-select|delete-sql_data13-demId] 0.18
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-POST-body|query-case_data14-expect_data14-None-None-None] 0.05
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_laohuang/test_bpm_laohuang.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/deleteOrg-POST-x-www-form-urlencoded-test_org_57-expect_data15-None-None-None] 0.07
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_order/test_pytest_func.py::Test01::test1 0.16
------------------------------Captured stdout call------------------------------
用例1 {"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjM1MDAsImlhdCI6MTY5OTIzNzEwMH0.rGlDWKZWa_LeDc5SG1iK9_tmkd0C9VsyhufgXWbYs1cK2ewOaGabwcepcs2yrx8QDpP3nB2-qow0FmpTI2DBrw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
Passed InterfaceAutoTest_2/test_case/test_order/test_pytest_func.py::Test01::test2 0.06
------------------------------Captured stdout call------------------------------
添加维度用例 {"state":true,"message":"添加维度成功!","value":""}
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data1-expect_data1-None-None-None] 0.05
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data2-expect_data2-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data3-expect_data3-None-None-None] 0.11
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data4-expect_data4-None-None-None] 0.11
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data5-expect_data5-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data6-expect_data6-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data7-expect_data7-None-None-None] 0.11
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-application/json-case_data8-expect_data8-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/auth-POST-json-case_data9-expect_data9-None-None-None] 0.10
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/addDem-post-json-case_data11-expect_data11-delete-DELETE FROM uc_demension WHERE `CODE_`="dem_test57_abc";-None] 0.24
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/demension/v1/dem/getDem-GET-query-case_data12-expect_data12-None-None-None] 0.05
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/addOrg-POST-application/json-case_data13-expect_data13-select|delete-sql_data13-demId] 0.19
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-POST-body|query-case_data14-expect_data14-None-None-None] 0.05
No log output captured.
Passed InterfaceAutoTest_2/test_case/test_zhangsan/test_bpm.py::TestBPM::test_bpm[http://120.46.172.186:8080/api/org/v1/org/deleteOrg-POST-x-www-form-urlencoded-test_org_57-expect_data15-None-None-None] 0.05
No log output captured.