Commit 87c3142b by li-yuanqiao

.

parent 7545c633
This source diff could not be displayed because it is too large. You can view the blob instead.
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803560044380160"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332507582464"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803463587971072"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803331177988096"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDYsImlhdCI6MTcxNjI3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803560044380160"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803569104076800"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803331643555840"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332075569152"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTcsImlhdCI6MTcxNjI3MjU5N30.sY4lvg3FdRhPw7aTY0jx3ZeN03MQbTx1bARhQIZP2H41KaUr83P2Q4MTt-AKuPxQxYsVlEOH9rPkM0X7HhxEJA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803330313961472"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803333417746432"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDYsImlhdCI6MTcxNjI3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDgsImlhdCI6MTcxNjI3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803463587971072"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803472635084800"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332960567296"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803330750169088"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803333887508480"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
"Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"BPM系统-demo","认证接口","登录系统","0","0","10","0","0"
"BPM系统-demo","认证接口","刷新token","1","0","0","0","0"
"BPM系统-demo","维度管理","根据维度编码删除维度","1","0","0","0","0"
"BPM系统-demo","组织管理","删除组织","0","0","1","0","0"
"BPM系统-老张","组织管理","删除组织","0","0","1","0","0"
"BPM系统-老张","组织管理","保存组织参数","0","0","1","0","0"
"BPM系统-老张","组织管理","组织加入用户","0","0","1","0","0"
"BPM系统-demo","维度管理","添加维度","0","0","1","0","0"
"BPM系统-demo","组织管理","添加组织","1","0","0","0","0"
"BPM系统-demo","组织管理","组织加入用户","0","0","1","0","0"
"BPM系统-demo","组织管理","保存组织参数","0","0","1","0","0"
"BPM-场景测试","认证接口","登录系统","0","0","1","0","0"
"BPM系统-老张","维度管理","添加维度","0","0","1","0","0"
"BPM系统-老张","维度管理","根据维度编码删除维度","1","0","0","0","0"
"BPM-场景测试","维度管理","添加维度","0","0","1","0","0"
"BPM系统-老张","组织管理","添加组织","1","0","0","0","0"
"BPM-场景测试","test","test","0","0","1","0","0"
{
"uid" : "b1a8273437954620fa374b796ffaacdd",
"name" : "behaviors",
"children" : [ {
"name" : "BPM系统-demo",
"children" : [ {
"name" : "认证接口",
"children" : [ {
"name" : "登录系统",
"children" : [ {
"name" : "正向用例-正确输入用户名和密码",
"uid" : "80142e22de024a60",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2'}", "'高'", "'正向用例-正确输入用户名和密码'", "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码为空",
"uid" : "1bd3c031f056ab2e",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': ''}", "'中'", "'反向用例-用户名正确,密码为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过长",
"uid" : "c26c17d72f28aa7f",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}", "'中'", "'反向用例-用户名正确,密码过长'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过短",
"uid" : "e425d3e0108cef57",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'm'}", "'中'", "'反向用例-用户名正确,密码过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码为特殊字符",
"uid" : "d093b8587a3ab4f3",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': '☯㍿卍卐'}", "'中'", "'反向用例-用户名正确,密码为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为空",
"uid" : "5532c9175fb2354e",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名过长",
"uid" : "8142d41860b04b15",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过长'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名过短",
"uid" : "96596e0fab9d3415",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'a', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为特殊字符",
"uid" : "5b0b595f880fe013",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名错误",
"uid" : "a0b87df8f50dc316",
"parentUid" : "54068c4b34235e80b3707de86ff13e04",
"status" : "passed",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin123', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名错误'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
} ],
"uid" : "54068c4b34235e80b3707de86ff13e04"
}, {
"name" : "刷新token",
"children" : [ {
"name" : "正向用例",
"uid" : "139913cc61e34bb9",
"parentUid" : "412797404a49368b01459232917764e5",
"status" : "failed",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
} ],
"uid" : "412797404a49368b01459232917764e5"
} ],
"uid" : "fee5f38f156c59a7229cd608f480f397"
}, {
"name" : "维度管理",
"children" : [ {
"name" : "添加维度",
"children" : [ {
"name" : "正向用例",
"uid" : "7af172a2303b627d",
"parentUid" : "367222556968830fe969c56d23a64b28",
"status" : "passed",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
} ],
"uid" : "367222556968830fe969c56d23a64b28"
}, {
"name" : "根据维度编码删除维度",
"children" : [ {
"name" : "正向用例",
"uid" : "cc6c15cf3215c8cc",
"parentUid" : "cb9e32ebc631ca9261bc484226c96537",
"status" : "failed",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "cb9e32ebc631ca9261bc484226c96537"
} ],
"uid" : "73e8dfd9412382cfca95173adf06150b"
}, {
"name" : "组织管理",
"children" : [ {
"name" : "添加组织",
"children" : [ {
"name" : "正向用例",
"uid" : "f7e90e36deb68600",
"parentUid" : "daf3ffbdadc91192b52bfb1df9f0d4e0",
"status" : "failed",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
} ],
"uid" : "daf3ffbdadc91192b52bfb1df9f0d4e0"
}, {
"name" : "组织加入用户",
"children" : [ {
"name" : "正向用例",
"uid" : "10e8cf966692af2d",
"parentUid" : "ff6fb21f9516bd8d36114e5bed9f610c",
"status" : "passed",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
} ],
"uid" : "ff6fb21f9516bd8d36114e5bed9f610c"
}, {
"name" : "保存组织参数",
"children" : [ {
"name" : "正向用例",
"uid" : "15e35cc79ee68b8c",
"parentUid" : "3dc2353ea1ead53d1d146118c7d59cb0",
"status" : "passed",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
} ],
"uid" : "3dc2353ea1ead53d1d146118c7d59cb0"
}, {
"name" : "删除组织",
"children" : [ {
"name" : "正向用例",
"uid" : "9a2316575f97b91e",
"parentUid" : "2793cc2821b7232abcd070673a778725",
"status" : "passed",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
} ],
"uid" : "2793cc2821b7232abcd070673a778725"
} ],
"uid" : "4bee7701e94bc8313967def29a10407c"
} ],
"uid" : "66550695002566ec8b65b624a9b94173"
}, {
"name" : "BPM-场景测试",
"children" : [ {
"name" : "认证接口",
"children" : [ {
"name" : "登录系统",
"children" : [ {
"name" : "登录--前置",
"uid" : "ce412b2b5e44b608",
"parentUid" : "3c5c9dbdff6eedda7132437c4823e890",
"status" : "passed",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "3c5c9dbdff6eedda7132437c4823e890"
} ],
"uid" : "d2572c9cea4c4a294688937ffd2e595b"
}, {
"name" : "维度管理",
"children" : [ {
"name" : "添加维度",
"children" : [ {
"name" : "添加维度-依赖登录",
"uid" : "dd7fa74e2935b20a",
"parentUid" : "8153686440f02f492100449d057c22d2",
"status" : "passed",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "8153686440f02f492100449d057c22d2"
} ],
"uid" : "28e7db48793fed92e49db97fac31f817"
}, {
"name" : "test",
"children" : [ {
"name" : "test",
"children" : [ {
"name" : "test用例函数-依赖登录成功和添加维度成功",
"uid" : "7efd9dd32f98b518",
"parentUid" : "72af9ba782be2d09bd4e1c28ad74d88f",
"status" : "passed",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "72af9ba782be2d09bd4e1c28ad74d88f"
} ],
"uid" : "59c6ea2fb0289419214d1d68d60925f6"
} ],
"uid" : "94f1553abd732a71c34e7dce06118ae5"
}, {
"name" : "BPM系统-老张",
"children" : [ {
"name" : "维度管理",
"children" : [ {
"name" : "添加维度",
"children" : [ {
"name" : "正向用例",
"uid" : "510c89b87f6352b8",
"parentUid" : "b9d6aa28835bc38076dcf9d345270941",
"status" : "passed",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
} ],
"uid" : "b9d6aa28835bc38076dcf9d345270941"
}, {
"name" : "根据维度编码删除维度",
"children" : [ {
"name" : "正向用例",
"uid" : "6bce7862e8bf2a3f",
"parentUid" : "8d831c703d04ddd1f308d9c902ef9f96",
"status" : "failed",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "8d831c703d04ddd1f308d9c902ef9f96"
} ],
"uid" : "4e2566cdb71da7bca218fcb360e80733"
}, {
"name" : "组织管理",
"children" : [ {
"name" : "添加组织",
"children" : [ {
"name" : "正向用例",
"uid" : "643ca7629b09152b",
"parentUid" : "9a6edbc37f0b31741ce44ef6e4b3f2fa",
"status" : "failed",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
} ],
"uid" : "9a6edbc37f0b31741ce44ef6e4b3f2fa"
}, {
"name" : "组织加入用户",
"children" : [ {
"name" : "正向用例",
"uid" : "adb4666aed6ea6fd",
"parentUid" : "3ccbcc6f69a2f5964652c7c250d86e55",
"status" : "passed",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
} ],
"uid" : "3ccbcc6f69a2f5964652c7c250d86e55"
}, {
"name" : "保存组织参数",
"children" : [ {
"name" : "正向用例",
"uid" : "76ee0be7403e029e",
"parentUid" : "2c942b594b1e70afb3b19161b365004a",
"status" : "passed",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
} ],
"uid" : "2c942b594b1e70afb3b19161b365004a"
}, {
"name" : "删除组织",
"children" : [ {
"name" : "正向用例",
"uid" : "b6d10bbf3ce5a604",
"parentUid" : "7bcef793394cb1a51e5b026ae68f0aca",
"status" : "passed",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
} ],
"uid" : "7bcef793394cb1a51e5b026ae68f0aca"
} ],
"uid" : "31c3a4ac992804d12368ec14781f5638"
} ],
"uid" : "6e01d6d59ee91e3571e91df05295436f"
} ]
}
\ No newline at end of file
"Category","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"Product defects","5","0","0","0","0"
{
"uid" : "4b4757e66a1912dae1a509f688f20b0f",
"name" : "categories",
"children" : [ {
"name" : "Product defects",
"children" : [ {
"name" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\n + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"children" : [ {
"name" : "正向用例",
"uid" : "139913cc61e34bb9",
"parentUid" : "1b23de01d9810fce01500382107beb90",
"status" : "failed",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
} ],
"uid" : "1b23de01d9810fce01500382107beb90"
}, {
"name" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"children" : [ {
"name" : "正向用例",
"uid" : "f7e90e36deb68600",
"parentUid" : "4a7003532ab41bb4162e963e0553c0dd",
"status" : "failed",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "643ca7629b09152b",
"parentUid" : "4a7003532ab41bb4162e963e0553c0dd",
"status" : "failed",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
} ],
"uid" : "4a7003532ab41bb4162e963e0553c0dd"
}, {
"name" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"children" : [ {
"name" : "正向用例",
"uid" : "cc6c15cf3215c8cc",
"parentUid" : "fc88e63a27e532a1ff14905d99754e1d",
"status" : "failed",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "6bce7862e8bf2a3f",
"parentUid" : "fc88e63a27e532a1ff14905d99754e1d",
"status" : "failed",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "fc88e63a27e532a1ff14905d99754e1d"
} ],
"uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d"
} ]
}
\ No newline at end of file
{
"uid" : "83edc06c07f9ae9e47eb6dd1b683e4e2",
"name" : "packages",
"children" : [ {
"name" : "test_case",
"children" : [ {
"name" : "test_demo.test_bpm",
"children" : [ {
"name" : "正向用例-正确输入用户名和密码",
"uid" : "80142e22de024a60",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2'}", "'高'", "'正向用例-正确输入用户名和密码'", "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码为空",
"uid" : "1bd3c031f056ab2e",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': ''}", "'中'", "'反向用例-用户名正确,密码为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过长",
"uid" : "c26c17d72f28aa7f",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}", "'中'", "'反向用例-用户名正确,密码过长'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过短",
"uid" : "e425d3e0108cef57",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'm'}", "'中'", "'反向用例-用户名正确,密码过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码为特殊字符",
"uid" : "d093b8587a3ab4f3",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': '☯㍿卍卐'}", "'中'", "'反向用例-用户名正确,密码为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为空",
"uid" : "5532c9175fb2354e",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名过长",
"uid" : "8142d41860b04b15",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过长'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名过短",
"uid" : "96596e0fab9d3415",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'a', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为特殊字符",
"uid" : "5b0b595f880fe013",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名错误",
"uid" : "a0b87df8f50dc316",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin123', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名错误'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "139913cc61e34bb9",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "7af172a2303b627d",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "f7e90e36deb68600",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "10e8cf966692af2d",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "正向用例",
"uid" : "15e35cc79ee68b8c",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "9a2316575f97b91e",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "cc6c15cf3215c8cc",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "test_demo.test_bpm"
}, {
"name" : "test_dependency.test_dependency",
"children" : [ {
"name" : "登录--前置",
"uid" : "ce412b2b5e44b608",
"parentUid" : "a275d33d9bda480afc64576a664c55db",
"status" : "passed",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "添加维度-依赖登录",
"uid" : "dd7fa74e2935b20a",
"parentUid" : "a275d33d9bda480afc64576a664c55db",
"status" : "passed",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "test用例函数-依赖登录成功和添加维度成功",
"uid" : "7efd9dd32f98b518",
"parentUid" : "a275d33d9bda480afc64576a664c55db",
"status" : "passed",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "test_dependency.test_dependency"
}, {
"name" : "test_mirZhang.test_bpm",
"children" : [ {
"name" : "正向用例",
"uid" : "510c89b87f6352b8",
"parentUid" : "fbaa16879cfc96f99b767496d76ca64d",
"status" : "passed",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "643ca7629b09152b",
"parentUid" : "fbaa16879cfc96f99b767496d76ca64d",
"status" : "failed",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "adb4666aed6ea6fd",
"parentUid" : "fbaa16879cfc96f99b767496d76ca64d",
"status" : "passed",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "正向用例",
"uid" : "76ee0be7403e029e",
"parentUid" : "fbaa16879cfc96f99b767496d76ca64d",
"status" : "passed",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "b6d10bbf3ce5a604",
"parentUid" : "fbaa16879cfc96f99b767496d76ca64d",
"status" : "passed",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "6bce7862e8bf2a3f",
"parentUid" : "fbaa16879cfc96f99b767496d76ca64d",
"status" : "failed",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "test_mirZhang.test_bpm"
} ],
"uid" : "3b2e467b921b0ea8d4803b9c79d92d0c"
} ]
}
\ No newline at end of file
"Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description"
"passed","Tue May 21 14:23:19 CST 2024","Tue May 21 14:23:19 CST 2024","92","test_case.test_demo","test_bpm","TestBPM","","","反向用例-密码正确,用户名过长",""
"failed","Tue May 21 14:23:30 CST 2024","Tue May 21 14:23:30 CST 2024","56","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:18 CST 2024","Tue May 21 14:23:18 CST 2024","63","test_case.test_demo","test_bpm","TestBPM","","","正向用例-正确输入用户名和密码",""
"failed","Tue May 21 14:23:52 CST 2024","Tue May 21 14:23:52 CST 2024","131","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:18 CST 2024","Tue May 21 14:23:18 CST 2024","57","test_case.test_demo","test_bpm","TestBPM","","","反向用例-用户名正确,密码为空",""
"passed","Tue May 21 14:23:19 CST 2024","Tue May 21 14:23:19 CST 2024","100","test_case.test_demo","test_bpm","TestBPM","","","反向用例-密码正确,用户名为特殊字符",""
"passed","Tue May 21 14:23:41 CST 2024","Tue May 21 14:23:41 CST 2024","58","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:24:04 CST 2024","Tue May 21 14:24:04 CST 2024","55","test_case.test_mirZhang","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:19 CST 2024","Tue May 21 14:23:19 CST 2024","93","test_case.test_demo","test_bpm","TestBPM","","","反向用例-密码正确,用户名为空",""
"passed","Tue May 21 14:24:04 CST 2024","Tue May 21 14:24:04 CST 2024","55","test_case.test_mirZhang","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:24:04 CST 2024","Tue May 21 14:24:04 CST 2024","53","test_case.test_mirZhang","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:30 CST 2024","Tue May 21 14:23:30 CST 2024","136","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"failed","Tue May 21 14:23:41 CST 2024","Tue May 21 14:23:41 CST 2024","181","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:41 CST 2024","Tue May 21 14:23:41 CST 2024","53","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:41 CST 2024","Tue May 21 14:23:41 CST 2024","56","test_case.test_demo","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:52 CST 2024","Tue May 21 14:23:52 CST 2024","95","test_case.test_dependency","test_dependency","","","","登录--前置",""
"passed","Tue May 21 14:23:53 CST 2024","Tue May 21 14:23:53 CST 2024","137","test_case.test_mirZhang","test_bpm","TestBPM","","","正向用例",""
"failed","Tue May 21 14:24:15 CST 2024","Tue May 21 14:24:15 CST 2024","132","test_case.test_mirZhang","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:19 CST 2024","Tue May 21 14:23:19 CST 2024","97","test_case.test_demo","test_bpm","TestBPM","","","反向用例-密码正确,用户名错误",""
"passed","Tue May 21 14:23:18 CST 2024","Tue May 21 14:23:18 CST 2024","94","test_case.test_demo","test_bpm","TestBPM","","","反向用例-用户名正确,密码过长",""
"passed","Tue May 21 14:23:19 CST 2024","Tue May 21 14:23:19 CST 2024","100","test_case.test_demo","test_bpm","TestBPM","","","反向用例-用户名正确,密码为特殊字符",""
"passed","Tue May 21 14:23:52 CST 2024","Tue May 21 14:23:53 CST 2024","152","test_case.test_dependency","test_dependency","","","","添加维度-依赖登录",""
"failed","Tue May 21 14:24:04 CST 2024","Tue May 21 14:24:04 CST 2024","185","test_case.test_mirZhang","test_bpm","TestBPM","","","正向用例",""
"passed","Tue May 21 14:23:18 CST 2024","Tue May 21 14:23:19 CST 2024","95","test_case.test_demo","test_bpm","TestBPM","","","反向用例-用户名正确,密码过短",""
"passed","Tue May 21 14:23:53 CST 2024","Tue May 21 14:23:53 CST 2024","1","test_case.test_dependency","test_dependency","","","","test用例函数-依赖登录成功和添加维度成功",""
"passed","Tue May 21 14:23:19 CST 2024","Tue May 21 14:23:19 CST 2024","99","test_case.test_demo","test_bpm","TestBPM","","","反向用例-密码正确,用户名过短",""
{
"uid" : "98d3104e051c652961429bf95fa0b5d6",
"name" : "suites",
"children" : [ {
"name" : "test_case.test_demo",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "正向用例-正确输入用户名和密码",
"uid" : "80142e22de024a60",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2'}", "'高'", "'正向用例-正确输入用户名和密码'", "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码为空",
"uid" : "1bd3c031f056ab2e",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': ''}", "'中'", "'反向用例-用户名正确,密码为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过长",
"uid" : "c26c17d72f28aa7f",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}", "'中'", "'反向用例-用户名正确,密码过长'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过短",
"uid" : "e425d3e0108cef57",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'm'}", "'中'", "'反向用例-用户名正确,密码过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码为特殊字符",
"uid" : "d093b8587a3ab4f3",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': '☯㍿卍卐'}", "'中'", "'反向用例-用户名正确,密码为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为空",
"uid" : "5532c9175fb2354e",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名过长",
"uid" : "8142d41860b04b15",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过长'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名过短",
"uid" : "96596e0fab9d3415",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'a', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为特殊字符",
"uid" : "5b0b595f880fe013",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名错误",
"uid" : "a0b87df8f50dc316",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin123', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名错误'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "139913cc61e34bb9",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "7af172a2303b627d",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "f7e90e36deb68600",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "10e8cf966692af2d",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "正向用例",
"uid" : "15e35cc79ee68b8c",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "9a2316575f97b91e",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "cc6c15cf3215c8cc",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "ef69bf2bb1b41f3ca3f11617396f6a81"
} ],
"uid" : "5f023a47dd31329b45d44784c00131e4"
} ],
"uid" : "7a8b7e46177bbd4d1efa8551fea4a38d"
}, {
"name" : "test_case.test_dependency",
"children" : [ {
"name" : "test_dependency",
"children" : [ {
"name" : "登录--前置",
"uid" : "ce412b2b5e44b608",
"parentUid" : "fc6c9efd9546dcb429acba88a29f612b",
"status" : "passed",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "添加维度-依赖登录",
"uid" : "dd7fa74e2935b20a",
"parentUid" : "fc6c9efd9546dcb429acba88a29f612b",
"status" : "passed",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "test用例函数-依赖登录成功和添加维度成功",
"uid" : "7efd9dd32f98b518",
"parentUid" : "fc6c9efd9546dcb429acba88a29f612b",
"status" : "passed",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "fc6c9efd9546dcb429acba88a29f612b"
} ],
"uid" : "5fa37ee52138cac4807b87b482b5d721"
}, {
"name" : "test_case.test_mirZhang",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "正向用例",
"uid" : "510c89b87f6352b8",
"parentUid" : "c76c9721dfc2eeaf36e23d7cef2f161e",
"status" : "passed",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "643ca7629b09152b",
"parentUid" : "c76c9721dfc2eeaf36e23d7cef2f161e",
"status" : "failed",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "adb4666aed6ea6fd",
"parentUid" : "c76c9721dfc2eeaf36e23d7cef2f161e",
"status" : "passed",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "正向用例",
"uid" : "76ee0be7403e029e",
"parentUid" : "c76c9721dfc2eeaf36e23d7cef2f161e",
"status" : "passed",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "b6d10bbf3ce5a604",
"parentUid" : "c76c9721dfc2eeaf36e23d7cef2f161e",
"status" : "passed",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "6bce7862e8bf2a3f",
"parentUid" : "c76c9721dfc2eeaf36e23d7cef2f161e",
"status" : "failed",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "c76c9721dfc2eeaf36e23d7cef2f161e"
} ],
"uid" : "67ba6791b97e745dd37a3c2e47827490"
} ],
"uid" : "663b5eac116b5bc6651b8e1e82719203"
} ]
}
\ No newline at end of file
{
"uid" : "10e8cf966692af2d",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "385bda31fe152e15cd1fc6b7817225aa",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "7201d70001e141e",
"name" : "log",
"source" : "7201d70001e141e.txt",
"type" : "text/plain",
"size" : 276
}, {
"uid" : "b40117ab71b81a91",
"name" : "stdout",
"source" : "b40117ab71b81a91.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "组织加入用户"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'组织加入用户'"
}, {
"name" : "case_data",
"value" : "{'orgCode': 'test_add_org', 'accounts': 'admin'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'state': True, 'message': '加入成功', 'value': ''}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "10e8cf966692af2d.json",
"parameterValues" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}
\ No newline at end of file
{
"uid" : "12eaadd487a58cd",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f0f670cbfec7a9680aec241c756307a6",
"time" : {
"start" : 1716272649197,
"stop" : 1716272649328,
"duration" : 131
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "208c263728b0d9ca",
"name" : "log",
"source" : "208c263728b0d9ca.txt",
"type" : "text/plain",
"size" : 735
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803475629817856'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "12eaadd487a58cd.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "139913cc61e34bb9",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1dcae5f805bddffd6ce19e14c8b3458b",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\n + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\nE + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\n + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\nE + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "85bb81ed805a1bc2",
"name" : "log",
"source" : "85bb81ed805a1bc2.txt",
"type" : "text/plain",
"size" : 2639
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'刷新token'"
}, {
"name" : "case_data",
"value" : "None"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/refresh'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ {
"uid" : "272c438f0bed80b",
"status" : "failed",
"statusDetails" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\n + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"time" : {
"start" : 1716272608243,
"stop" : 1716272608294,
"duration" : 51
}
}, {
"uid" : "4f1ef4a5b7fd035f",
"status" : "failed",
"statusDetails" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\n + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"time" : {
"start" : 1716272606164,
"stop" : 1716272606215,
"duration" : 51
}
}, {
"uid" : "c2d850dec3954142",
"status" : "failed",
"statusDetails" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\n + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"time" : {
"start" : 1716272604095,
"stop" : 1716272604145,
"duration" : 50
}
}, {
"uid" : "4cf6104851f97da",
"status" : "failed",
"statusDetails" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\n + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"time" : {
"start" : 1716272602024,
"stop" : 1716272602074,
"duration" : 50
}
}, {
"uid" : "18d9dd9447f5bd7b",
"status" : "failed",
"statusDetails" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\n + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"time" : {
"start" : 1716272599755,
"stop" : 1716272599845,
"duration" : 90
}
} ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "139913cc61e34bb9.json",
"parameterValues" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}
\ No newline at end of file
{
"uid" : "15e35cc79ee68b8c",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "e133082949e07d38e4a8587843153535",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "9822ad938ab5e065",
"name" : "log",
"source" : "9822ad938ab5e065.txt",
"type" : "text/plain",
"size" : 376
}, {
"uid" : "756ecf2b72d113b2",
"name" : "stdout",
"source" : "756ecf2b72d113b2.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "保存组织参数"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'保存组织参数'"
}, {
"name" : "case_data",
"value" : "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'state': True, 'message': '保存组织参数成功!', 'value': ''}"
}, {
"name" : "method",
"value" : "'post'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "15e35cc79ee68b8c.json",
"parameterValues" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "18d9dd9447f5bd7b",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1dcae5f805bddffd6ce19e14c8b3458b",
"time" : {
"start" : 1716272599755,
"stop" : 1716272599845,
"duration" : 90
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\n + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\nE + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\n + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\nE + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "3b913b49dc4f3472",
"name" : "log",
"source" : "3b913b49dc4f3472.txt",
"type" : "text/plain",
"size" : 439
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'刷新token'"
}, {
"name" : "case_data",
"value" : "None"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/refresh'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "18d9dd9447f5bd7b.json",
"parameterValues" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}
\ No newline at end of file
{
"uid" : "1ad3f99f8aec3b78",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f0f670cbfec7a9680aec241c756307a6",
"time" : {
"start" : 1716272651358,
"stop" : 1716272651491,
"duration" : 133
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "aa23f63cb24a3b27",
"name" : "log",
"source" : "aa23f63cb24a3b27.txt",
"type" : "text/plain",
"size" : 980
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803475629817856'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "1ad3f99f8aec3b78.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "1bd3c031f056ab2e",
"name" : "反向用例-用户名正确,密码为空",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "4164dfc118ea6cc8eeb9ce3984609436",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "71a819440c253d52",
"name" : "log",
"source" : "71a819440c253d52.txt",
"type" : "text/plain",
"size" : 275
}, {
"uid" : "8883fd4feebc6905",
"name" : "stdout",
"source" : "8883fd4feebc6905.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': ''}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-用户名正确,密码为空'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "1bd3c031f056ab2e.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': ''}", "'中'", "'反向用例-用户名正确,密码为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "209ce81276c337a6",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "487ae598a2b30a5ea2489bb3e5fa08a4",
"time" : {
"start" : 1716272614968,
"stop" : 1716272615147,
"duration" : 179
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "69ecbaba4125d9c7",
"name" : "log",
"source" : "69ecbaba4125d9c7.txt",
"type" : "text/plain",
"size" : 1193
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "209ce81276c337a6.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "272c438f0bed80b",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1dcae5f805bddffd6ce19e14c8b3458b",
"time" : {
"start" : 1716272608243,
"stop" : 1716272608294,
"duration" : 51
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\n + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\nE + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\n + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\nE + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "39baf5c12bf79df8",
"name" : "log",
"source" : "39baf5c12bf79df8.txt",
"type" : "text/plain",
"size" : 2199
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'刷新token'"
}, {
"name" : "case_data",
"value" : "None"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/refresh'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "272c438f0bed80b.json",
"parameterValues" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}
\ No newline at end of file
{
"uid" : "3015128a124f9ae6",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "526f1fd519b78b4955668d6cfd277048",
"time" : {
"start" : 1716272640167,
"stop" : 1716272640342,
"duration" : 175
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "7cd371d730635a5c",
"name" : "log",
"source" : "7cd371d730635a5c.txt",
"type" : "text/plain",
"size" : 1591
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "3015128a124f9ae6.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "34d4a7d4229ac13b",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f0f670cbfec7a9680aec241c756307a6",
"time" : {
"start" : 1716272644958,
"stop" : 1716272645054,
"duration" : 96
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "a8ff188565383ebb",
"name" : "log",
"source" : "a8ff188565383ebb.txt",
"type" : "text/plain",
"size" : 245
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '需要更新'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "34d4a7d4229ac13b.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "47066bd5655ab306",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "487ae598a2b30a5ea2489bb3e5fa08a4",
"time" : {
"start" : 1716272612750,
"stop" : 1716272612931,
"duration" : 181
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "f32a4201d93ebd55",
"name" : "log",
"source" : "f32a4201d93ebd55.txt",
"type" : "text/plain",
"size" : 795
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "47066bd5655ab306.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "4cf6104851f97da",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1dcae5f805bddffd6ce19e14c8b3458b",
"time" : {
"start" : 1716272602024,
"stop" : 1716272602074,
"duration" : 50
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\n + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\nE + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\n + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\nE + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "95802db4a485e5cb",
"name" : "log",
"source" : "95802db4a485e5cb.txt",
"type" : "text/plain",
"size" : 879
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'刷新token'"
}, {
"name" : "case_data",
"value" : "None"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/refresh'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "4cf6104851f97da.json",
"parameterValues" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}
\ No newline at end of file
{
"uid" : "4f1ef4a5b7fd035f",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1dcae5f805bddffd6ce19e14c8b3458b",
"time" : {
"start" : 1716272606164,
"stop" : 1716272606215,
"duration" : 51
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\n + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\nE + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\n + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\nE + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "8b75f965076bf807",
"name" : "log",
"source" : "8b75f965076bf807.txt",
"type" : "text/plain",
"size" : 1759
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'刷新token'"
}, {
"name" : "case_data",
"value" : "None"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/refresh'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "4f1ef4a5b7fd035f.json",
"parameterValues" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}
\ No newline at end of file
{
"uid" : "510c89b87f6352b8",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "aab084bf6a05ec45b335f51ecc264b7e",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "f01d7cb12097c711",
"name" : "log",
"source" : "f01d7cb12097c711.txt",
"type" : "text/plain",
"size" : 340
}, {
"uid" : "f6d07ad08c02221c",
"name" : "stdout",
"source" : "f6d07ad08c02221c.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "添加维度"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加维度'"
}, {
"name" : "case_data",
"value" : "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加维度成功!'}"
}, {
"name" : "method",
"value" : "'pOst'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'delete'"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "510c89b87f6352b8.json",
"parameterValues" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}
\ No newline at end of file
{
"uid" : "5532c9175fb2354e",
"name" : "反向用例-密码正确,用户名为空",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "ca39ba3d830745ef2c54de45a0fd94de",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "538dd3c6269d607b",
"name" : "log",
"source" : "538dd3c6269d607b.txt",
"type" : "text/plain",
"size" : 278
}, {
"uid" : "8c5282cbec7e86da",
"name" : "stdout",
"source" : "8c5282cbec7e86da.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': '', 'password': 'MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-密码正确,用户名为空'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "5532c9175fb2354e.json",
"parameterValues" : [ "'登录系统'", "{'username': '', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "5b0b595f880fe013",
"name" : "反向用例-密码正确,用户名为特殊字符",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "fa305c7b3d900250c6115572baa5540a",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "7cf883af7fabeddf",
"name" : "log",
"source" : "7cf883af7fabeddf.txt",
"type" : "text/plain",
"size" : 290
}, {
"uid" : "c40a6c404248f2af",
"name" : "stdout",
"source" : "c40a6c404248f2af.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-密码正确,用户名为特殊字符'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "5b0b595f880fe013.json",
"parameterValues" : [ "'登录系统'", "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "5dd7bd33a0896cb1",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f0f670cbfec7a9680aec241c756307a6",
"time" : {
"start" : 1716272653523,
"stop" : 1716272653661,
"duration" : 138
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "116a66ad8e750f6d",
"name" : "log",
"source" : "116a66ad8e750f6d.txt",
"type" : "text/plain",
"size" : 1225
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803475629817856'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "5dd7bd33a0896cb1.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "63fd0603d3fc3e68",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f0f670cbfec7a9680aec241c756307a6",
"time" : {
"start" : 1716272647081,
"stop" : 1716272647173,
"duration" : 92
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "6666807bee4dd972",
"name" : "log",
"source" : "6666807bee4dd972.txt",
"type" : "text/plain",
"size" : 490
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803475629817856'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "63fd0603d3fc3e68.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "643ca7629b09152b",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "526f1fd519b78b4955668d6cfd277048",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "6b95a89eb4116b8d",
"name" : "log",
"source" : "6b95a89eb4116b8d.txt",
"type" : "text/plain",
"size" : 2387
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ {
"uid" : "f0b29a97131b512d",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272642365,
"stop" : 1716272642541,
"duration" : 176
}
}, {
"uid" : "3015128a124f9ae6",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272640167,
"stop" : 1716272640342,
"duration" : 175
}
}, {
"uid" : "bab371eff6794f2b",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272637956,
"stop" : 1716272638139,
"duration" : 183
}
}, {
"uid" : "d86d7ab21b67c470",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272635752,
"stop" : 1716272635930,
"duration" : 178
}
}, {
"uid" : "d386a81c173e63a4",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272633544,
"stop" : 1716272633720,
"duration" : 176
}
} ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "643ca7629b09152b.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "64c7a0a97adde6d1",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "347d2f73ed73495ba7ba72dbf723f253",
"time" : {
"start" : 1716272630526,
"stop" : 1716272630660,
"duration" : 134
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "1cc5cc26b0e6793e",
"name" : "log",
"source" : "1cc5cc26b0e6793e.txt",
"type" : "text/plain",
"size" : 1225
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803379156631552'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "64c7a0a97adde6d1.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "682b7b7636aca843",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "487ae598a2b30a5ea2489bb3e5fa08a4",
"time" : {
"start" : 1716272610542,
"stop" : 1716272610722,
"duration" : 180
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "de31b21afa53e092",
"name" : "log",
"source" : "de31b21afa53e092.txt",
"type" : "text/plain",
"size" : 397
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "682b7b7636aca843.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "6bce7862e8bf2a3f",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f0f670cbfec7a9680aec241c756307a6",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "3ee4fb5ea7f92b8a",
"name" : "log",
"source" : "3ee4fb5ea7f92b8a.txt",
"type" : "text/plain",
"size" : 1470
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803475629817856'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ {
"uid" : "5dd7bd33a0896cb1",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272653523,
"stop" : 1716272653661,
"duration" : 138
}
}, {
"uid" : "1ad3f99f8aec3b78",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272651358,
"stop" : 1716272651491,
"duration" : 133
}
}, {
"uid" : "12eaadd487a58cd",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272649197,
"stop" : 1716272649328,
"duration" : 131
}
}, {
"uid" : "63fd0603d3fc3e68",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272647081,
"stop" : 1716272647173,
"duration" : 92
}
}, {
"uid" : "34d4a7d4229ac13b",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功",
"time" : {
"start" : 1716272644958,
"stop" : 1716272645054,
"duration" : 96
}
} ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "6bce7862e8bf2a3f.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "76ee0be7403e029e",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f523c6add46569d79b9a33cc763be891",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "5beb8dd75024124b",
"name" : "log",
"source" : "5beb8dd75024124b.txt",
"type" : "text/plain",
"size" : 376
}, {
"uid" : "4a87a856d252348a",
"name" : "stdout",
"source" : "4a87a856d252348a.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "保存组织参数"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'保存组织参数'"
}, {
"name" : "case_data",
"value" : "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'state': True, 'message': '保存组织参数成功!', 'value': ''}"
}, {
"name" : "method",
"value" : "'post'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "76ee0be7403e029e.json",
"parameterValues" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "7af172a2303b627d",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "435ba53246b35b4af7286c32ad75fe23",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "bbc2176bbcbfcb7e",
"name" : "log",
"source" : "bbc2176bbcbfcb7e.txt",
"type" : "text/plain",
"size" : 340
}, {
"uid" : "2ffbcb889e2046d8",
"name" : "stdout",
"source" : "2ffbcb889e2046d8.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "添加维度"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加维度'"
}, {
"name" : "case_data",
"value" : "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加维度成功!'}"
}, {
"name" : "method",
"value" : "'pOst'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'delete'"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "7af172a2303b627d.json",
"parameterValues" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}
\ No newline at end of file
{
"uid" : "7efd9dd32f98b518",
"name" : "test用例函数-依赖登录成功和添加维度成功",
"fullName" : "test_case.test_dependency.test_dependency#test1",
"historyId" : "112831bd8b103ba5270ea46bde2822af",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "7ca9dc953c624cc6",
"name" : "stdout",
"source" : "7ca9dc953c624cc6.txt",
"type" : "text/plain",
"size" : 14
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "story",
"value" : "test"
}, {
"name" : "feature",
"value" : "test"
}, {
"name" : "epic",
"value" : "BPM-场景测试"
}, {
"name" : "tag",
"value" : "dependency(depends=['test_add_dem', 'test_login'])"
}, {
"name" : "parentSuite",
"value" : "test_case.test_dependency"
}, {
"name" : "suite",
"value" : "test_dependency"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_dependency.test_dependency"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency(depends=['test_add_dem', 'test_login'])" ]
},
"source" : "7efd9dd32f98b518.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "80142e22de024a60",
"name" : "正向用例-正确输入用户名和密码",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "f7417fae3641334c555177156c21126d",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "5a84d42ab44260be",
"name" : "log",
"source" : "5a84d42ab44260be.txt",
"type" : "text/plain",
"size" : 575
}, {
"uid" : "4b82c6a38a94e361",
"name" : "stdout",
"source" : "4b82c6a38a94e361.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例-正确输入用户名和密码'"
}, {
"name" : "expect_data",
"value" : "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "80142e22de024a60.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2'}", "'高'", "'正向用例-正确输入用户名和密码'", "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "8142d41860b04b15",
"name" : "反向用例-密码正确,用户名过长",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "968bf5f1bc5266807075e84dfd49d322",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "195d3c3ed8fa0070",
"name" : "log",
"source" : "195d3c3ed8fa0070.txt",
"type" : "text/plain",
"size" : 298
}, {
"uid" : "e225611ab025f71d",
"name" : "stdout",
"source" : "e225611ab025f71d.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-密码正确,用户名过长'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "8142d41860b04b15.json",
"parameterValues" : [ "'登录系统'", "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过长'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "88e60d865858edc2",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "347d2f73ed73495ba7ba72dbf723f253",
"time" : {
"start" : 1716272624099,
"stop" : 1716272624187,
"duration" : 88
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "6ea91b34562fdff6",
"name" : "log",
"source" : "6ea91b34562fdff6.txt",
"type" : "text/plain",
"size" : 490
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803379156631552'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "88e60d865858edc2.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "96596e0fab9d3415",
"name" : "反向用例-密码正确,用户名过短",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1a3971dd942170d7f7bcf2c1f2eecd8f",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "a66f6f015a0908d7",
"name" : "log",
"source" : "a66f6f015a0908d7.txt",
"type" : "text/plain",
"size" : 279
}, {
"uid" : "c3a3b7a3c91bcff7",
"name" : "stdout",
"source" : "c3a3b7a3c91bcff7.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'a', 'password': 'MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-密码正确,用户名过短'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "96596e0fab9d3415.json",
"parameterValues" : [ "'登录系统'", "{'username': 'a', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "9a2316575f97b91e",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "db26a6f22fbc123482ea90d3e77fa9fd",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "8f0dd4d860439e9d",
"name" : "log",
"source" : "8f0dd4d860439e9d.txt",
"type" : "text/plain",
"size" : 258
}, {
"uid" : "d58b94aaa68aa2dd",
"name" : "stdout",
"source" : "d58b94aaa68aa2dd.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "删除组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'删除组织'"
}, {
"name" : "case_data",
"value" : "'test_add_org'"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'state': True, 'message': '删除组织成功!', 'value': ''}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'text/plain'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "9a2316575f97b91e.json",
"parameterValues" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}
\ No newline at end of file
{
"uid" : "9d2f1604d71ec7a6",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "487ae598a2b30a5ea2489bb3e5fa08a4",
"time" : {
"start" : 1716272619383,
"stop" : 1716272619564,
"duration" : 181
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "6e082c14d64f516c",
"name" : "log",
"source" : "6e082c14d64f516c.txt",
"type" : "text/plain",
"size" : 1989
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "9d2f1604d71ec7a6.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "a011264732c293ec",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "347d2f73ed73495ba7ba72dbf723f253",
"time" : {
"start" : 1716272626207,
"stop" : 1716272626341,
"duration" : 134
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "436d5cd427874b03",
"name" : "log",
"source" : "436d5cd427874b03.txt",
"type" : "text/plain",
"size" : 735
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803379156631552'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "a011264732c293ec.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "a0b87df8f50dc316",
"name" : "反向用例-密码正确,用户名错误",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "83d67cdc5550a580709b5379b214757d",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "ba6929d93441163b",
"name" : "log",
"source" : "ba6929d93441163b.txt",
"type" : "text/plain",
"size" : 286
}, {
"uid" : "8a43ab00612fb800",
"name" : "stdout",
"source" : "8a43ab00612fb800.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'admin123', 'password': 'MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-密码正确,用户名错误'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "a0b87df8f50dc316.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin123', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名错误'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "adb4666aed6ea6fd",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "2d767e403ea75ccb1f14fcd976c25353",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "26ab91eb58d5437f",
"name" : "log",
"source" : "26ab91eb58d5437f.txt",
"type" : "text/plain",
"size" : 276
}, {
"uid" : "6413450afbe297d",
"name" : "stdout",
"source" : "6413450afbe297d.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "组织加入用户"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'组织加入用户'"
}, {
"name" : "case_data",
"value" : "{'orgCode': 'test_add_org', 'accounts': 'admin'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'state': True, 'message': '加入成功', 'value': ''}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "adb4666aed6ea6fd.json",
"parameterValues" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}
\ No newline at end of file
{
"uid" : "b477169fbff4410e",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "347d2f73ed73495ba7ba72dbf723f253",
"time" : {
"start" : 1716272621987,
"stop" : 1716272622080,
"duration" : 93
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "bbd501f9dbcd3dda",
"name" : "log",
"source" : "bbd501f9dbcd3dda.txt",
"type" : "text/plain",
"size" : 245
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '需要更新'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "b477169fbff4410e.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "b6d10bbf3ce5a604",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "5ee7a985530eff8db65cbc3fbd8fd151",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "daf1a95306848a3",
"name" : "log",
"source" : "daf1a95306848a3.txt",
"type" : "text/plain",
"size" : 258
}, {
"uid" : "987782255dd3f0f5",
"name" : "stdout",
"source" : "987782255dd3f0f5.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "删除组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'删除组织'"
}, {
"name" : "case_data",
"value" : "'test_add_org'"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'state': True, 'message': '删除组织成功!', 'value': ''}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'text/plain'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "b6d10bbf3ce5a604.json",
"parameterValues" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}
\ No newline at end of file
{
"uid" : "bab371eff6794f2b",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "526f1fd519b78b4955668d6cfd277048",
"time" : {
"start" : 1716272637956,
"stop" : 1716272638139,
"duration" : 183
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "cf084e108e2df99e",
"name" : "log",
"source" : "cf084e108e2df99e.txt",
"type" : "text/plain",
"size" : 1193
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "bab371eff6794f2b.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "c26c17d72f28aa7f",
"name" : "反向用例-用户名正确,密码过长",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "37bde76add67e3f73e804e1ff293bbd9",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "a9bcf4a95c5389c9",
"name" : "log",
"source" : "a9bcf4a95c5389c9.txt",
"type" : "text/plain",
"size" : 355
}, {
"uid" : "bd632cb85700b6eb",
"name" : "stdout",
"source" : "bd632cb85700b6eb.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-用户名正确,密码过长'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "c26c17d72f28aa7f.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}", "'中'", "'反向用例-用户名正确,密码过长'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "c2d850dec3954142",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "1dcae5f805bddffd6ce19e14c8b3458b",
"time" : {
"start" : 1716272604095,
"stop" : 1716272604145,
"duration" : 50
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\n + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\nE + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\n + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\nE + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "dde9a1e6e87f25aa",
"name" : "log",
"source" : "dde9a1e6e87f25aa.txt",
"type" : "text/plain",
"size" : 1319
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'刷新token'"
}, {
"name" : "case_data",
"value" : "None"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/refresh'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "c2d850dec3954142.json",
"parameterValues" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}
\ No newline at end of file
{
"uid" : "cc6c15cf3215c8cc",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "347d2f73ed73495ba7ba72dbf723f253",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "879a46074811af0",
"name" : "log",
"source" : "879a46074811af0.txt",
"type" : "text/plain",
"size" : 1470
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803379156631552'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ {
"uid" : "64c7a0a97adde6d1",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272630526,
"stop" : 1716272630660,
"duration" : 134
}
}, {
"uid" : "d1e0d7501f9ea60",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272628366,
"stop" : 1716272628501,
"duration" : 135
}
}, {
"uid" : "a011264732c293ec",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272626207,
"stop" : 1716272626341,
"duration" : 134
}
}, {
"uid" : "88e60d865858edc2",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272624099,
"stop" : 1716272624187,
"duration" : 88
}
}, {
"uid" : "b477169fbff4410e",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功",
"time" : {
"start" : 1716272621987,
"stop" : 1716272622080,
"duration" : 93
}
} ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "cc6c15cf3215c8cc.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "ce412b2b5e44b608",
"name" : "登录--前置",
"fullName" : "test_case.test_dependency.test_dependency#test_login",
"historyId" : "b3ea99bce5fbf89dc61e67ffc74d2796",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "93c840dec4b9b526",
"name" : "stdout",
"source" : "93c840dec4b9b526.txt",
"type" : "text/plain",
"size" : 13
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "epic",
"value" : "BPM-场景测试"
}, {
"name" : "tag",
"value" : "dependency"
}, {
"name" : "parentSuite",
"value" : "test_case.test_dependency"
}, {
"name" : "suite",
"value" : "test_dependency"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_dependency.test_dependency"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency" ]
},
"source" : "ce412b2b5e44b608.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "d093b8587a3ab4f3",
"name" : "反向用例-用户名正确,密码为特殊字符",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "45fbe766301d5f34f2314154dd48ad7c",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "4c9392d6daa2384",
"name" : "log",
"source" : "4c9392d6daa2384.txt",
"type" : "text/plain",
"size" : 287
}, {
"uid" : "ac741aa1898e1262",
"name" : "stdout",
"source" : "ac741aa1898e1262.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': '☯㍿卍卐'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-用户名正确,密码为特殊字符'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "d093b8587a3ab4f3.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': '☯㍿卍卐'}", "'中'", "'反向用例-用户名正确,密码为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "d1e0d7501f9ea60",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "347d2f73ed73495ba7ba72dbf723f253",
"time" : {
"start" : 1716272628366,
"stop" : 1716272628501,
"duration" : 135
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "68079d64d13b4b9b",
"name" : "log",
"source" : "68079d64d13b4b9b.txt",
"type" : "text/plain",
"size" : 980
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case_data",
"value" : "{'ids': '1792803379156631552'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "method",
"value" : "'DELETE'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module_name",
"value" : "'维度管理'"
}, {
"name" : "sql_data",
"value" : "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "d1e0d7501f9ea60.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "d386a81c173e63a4",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "526f1fd519b78b4955668d6cfd277048",
"time" : {
"start" : 1716272633544,
"stop" : 1716272633720,
"duration" : 176
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "e05bc2e897e525cd",
"name" : "log",
"source" : "e05bc2e897e525cd.txt",
"type" : "text/plain",
"size" : 397
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "d386a81c173e63a4.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "d86d7ab21b67c470",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "526f1fd519b78b4955668d6cfd277048",
"time" : {
"start" : 1716272635752,
"stop" : 1716272635930,
"duration" : 178
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "b398dd14596ef633",
"name" : "log",
"source" : "b398dd14596ef633.txt",
"type" : "text/plain",
"size" : 795
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "d86d7ab21b67c470.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "dd7fa74e2935b20a",
"name" : "添加维度-依赖登录",
"fullName" : "test_case.test_dependency.test_dependency#test_add_dem",
"historyId" : "2c19ea97cbbe4cb31079c2ee05828120",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "c8901e6970c427be",
"name" : "stdout",
"source" : "c8901e6970c427be.txt",
"type" : "text/plain",
"size" : 13
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "添加维度"
}, {
"name" : "epic",
"value" : "BPM-场景测试"
}, {
"name" : "tag",
"value" : "dependency(depends=['test_login'])"
}, {
"name" : "parentSuite",
"value" : "test_case.test_dependency"
}, {
"name" : "suite",
"value" : "test_dependency"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_dependency.test_dependency"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency(depends=['test_login'])" ]
},
"source" : "dd7fa74e2935b20a.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "e425d3e0108cef57",
"name" : "反向用例-用户名正确,密码过短",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "f5ad8b2871fbe9131e812a7e7fd4507e",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "27912ca823c311e6",
"name" : "log",
"source" : "27912ca823c311e6.txt",
"type" : "text/plain",
"size" : 276
}, {
"uid" : "c49546fe18c84daf",
"name" : "stdout",
"source" : "c49546fe18c84daf.txt",
"type" : "text/plain",
"size" : 7
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 2,
"shouldDisplayMessage" : false
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'登录系统'"
}, {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'm'}"
}, {
"name" : "case_level",
"value" : "'中'"
}, {
"name" : "case_title",
"value" : "'反向用例-用户名正确,密码过短'"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module_name",
"value" : "'认证接口'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "e425d3e0108cef57.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': 'm'}", "'中'", "'反向用例-用户名正确,密码过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}
\ No newline at end of file
{
"uid" : "f0b29a97131b512d",
"name" : "正向用例",
"fullName" : "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm",
"historyId" : "526f1fd519b78b4955668d6cfd277048",
"time" : {
"start" : 1716272642365,
"stop" : 1716272642541,
"duration" : 176
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "2a6299f399f58eb7",
"name" : "log",
"source" : "2a6299f399f58eb7.txt",
"type" : "text/plain",
"size" : 1989
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-老张"
}, {
"name" : "parentSuite",
"value" : "test_case.test_mirZhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_mirZhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "f0b29a97131b512d.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "f63c130e44479e2f",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "487ae598a2b30a5ea2489bb3e5fa08a4",
"time" : {
"start" : 1716272617174,
"stop" : 1716272617355,
"duration" : 181
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "c03a0df9281574b5",
"name" : "log",
"source" : "c03a0df9281574b5.txt",
"type" : "text/plain",
"size" : 1591
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : true,
"retry" : true,
"extra" : {
"categories" : [ ],
"tags" : [ ]
},
"source" : "f63c130e44479e2f.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "f7e90e36deb68600",
"name" : "正向用例",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "487ae598a2b30a5ea2489bb3e5fa08a4",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"statusTrace" : "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "a6c92586b9cefbbf",
"name" : "log",
"source" : "a6c92586b9cefbbf.txt",
"type" : "text/plain",
"size" : 2387
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM系统-demo"
}, {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "LAPTOP-O09782E1"
}, {
"name" : "thread",
"value" : "8968-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api_name",
"value" : "'添加组织'"
}, {
"name" : "case_data",
"value" : "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "case_level",
"value" : "'高'"
}, {
"name" : "case_title",
"value" : "'正向用例'"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module_name",
"value" : "'组织管理'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"
}, {
"name" : "sql_type",
"value" : "'select|delete'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ {
"uid" : "9d2f1604d71ec7a6",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272619383,
"stop" : 1716272619564,
"duration" : 181
}
}, {
"uid" : "f63c130e44479e2f",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272617174,
"stop" : 1716272617355,
"duration" : 181
}
}, {
"uid" : "209ce81276c337a6",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272614968,
"stop" : 1716272615147,
"duration" : 179
}
}, {
"uid" : "47066bd5655ab306",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272612750,
"stop" : 1716272612931,
"duration" : 181
}
}, {
"uid" : "682b7b7636aca843",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272610542,
"stop" : 1716272610722,
"duration" : 180
}
} ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "f7e90e36deb68600.json",
"parameterValues" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "ab17fc5a4eb3bca4b216b548c7f9fcbc",
"name" : "timeline",
"children" : [ {
"name" : "LAPTOP-O09782E1",
"children" : [ {
"name" : "8968-MainThread",
"children" : [ {
"name" : "test用例函数-依赖登录成功和添加维度成功",
"uid" : "7efd9dd32f98b518",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "10e8cf966692af2d",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "正向用例",
"uid" : "682b7b7636aca843",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272610542,
"stop" : 1716272610722,
"duration" : 180
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "139913cc61e34bb9",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "7af172a2303b627d",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}, {
"name" : "反向用例-用户名正确,密码为特殊字符",
"uid" : "d093b8587a3ab4f3",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': '☯㍿卍卐'}", "'中'", "'反向用例-用户名正确,密码为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "adb4666aed6ea6fd",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'组织加入用户'", "{'orgCode': 'test_add_org', 'accounts': 'admin'}", "'高'", "'正向用例'", "{'state': True, 'message': '加入成功', 'value': ''}", "'POST'", "'query'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "添加维度-依赖登录",
"uid" : "dd7fa74e2935b20a",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "76ee0be7403e029e",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "b6d10bbf3ce5a604",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "反向用例-密码正确,用户名过长",
"uid" : "8142d41860b04b15",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过长'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "209ce81276c337a6",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272614968,
"stop" : 1716272615147,
"duration" : 179
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例-正确输入用户名和密码",
"uid" : "80142e22de024a60",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2'}", "'高'", "'正向用例-正确输入用户名和密码'", "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "cc6c15cf3215c8cc",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "34d4a7d4229ac13b",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272644958,
"stop" : 1716272645054,
"duration" : 96
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "f7e90e36deb68600",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "12eaadd487a58cd",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272649197,
"stop" : 1716272649328,
"duration" : 131
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "c2d850dec3954142",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272604095,
"stop" : 1716272604145,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "18d9dd9447f5bd7b",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272599755,
"stop" : 1716272599845,
"duration" : 90
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "6bce7862e8bf2a3f",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "272c438f0bed80b",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272608243,
"stop" : 1716272608294,
"duration" : 51
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "63fd0603d3fc3e68",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272647081,
"stop" : 1716272647173,
"duration" : 92
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "d86d7ab21b67c470",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272635752,
"stop" : 1716272635930,
"duration" : 178
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "bab371eff6794f2b",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272637956,
"stop" : 1716272638139,
"duration" : 183
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "反向用例-密码正确,用户名错误",
"uid" : "a0b87df8f50dc316",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin123', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名错误'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-用户名正确,密码过短",
"uid" : "e425d3e0108cef57",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'm'}", "'中'", "'反向用例-用户名正确,密码过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "5dd7bd33a0896cb1",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272653523,
"stop" : 1716272653661,
"duration" : 138
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "15e35cc79ee68b8c",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}", "'中'", "'正向用例'", "{'state': True, 'message': '保存组织参数成功!', 'value': ''}", "'post'", "'query|json'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "510c89b87f6352b8",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}", "'高'", "'正向用例'", "{'message': '添加维度成功!'}", "'pOst'", "'json'", "'维度管理'", "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'delete'", "None", "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "64c7a0a97adde6d1",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272630526,
"stop" : 1716272630660,
"duration" : 134
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "d386a81c173e63a4",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272633544,
"stop" : 1716272633720,
"duration" : 176
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "f63c130e44479e2f",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272617174,
"stop" : 1716272617355,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "643ca7629b09152b",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "反向用例-用户名正确,密码为空",
"uid" : "1bd3c031f056ab2e",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': ''}", "'中'", "'反向用例-用户名正确,密码为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "4cf6104851f97da",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272602024,
"stop" : 1716272602074,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "9a2316575f97b91e",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'test_add_org'", "'高'", "'正向用例'", "{'state': True, 'message': '删除组织成功!', 'value': ''}", "'POST'", "'text/plain'", "'组织管理'", "None", "None", "None", "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "反向用例-密码正确,用户名为空",
"uid" : "5532c9175fb2354e",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为空'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "反向用例-密码正确,用户名为特殊字符",
"uid" : "5b0b595f880fe013",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名为特殊字符'", "{'message': '账号或密码错误'}", "'POST'", "'json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "4f1ef4a5b7fd035f",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272606164,
"stop" : 1716272606215,
"duration" : 51
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "'中'", "'正向用例'", "{'message': '刷新token成功'}", "'GET'", "None", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "88e60d865858edc2",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272624099,
"stop" : 1716272624187,
"duration" : 88
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "f0b29a97131b512d",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272642365,
"stop" : 1716272642541,
"duration" : 176
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "3015128a124f9ae6",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272640167,
"stop" : 1716272640342,
"duration" : 175
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "9d2f1604d71ec7a6",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272619383,
"stop" : 1716272619564,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "b477169fbff4410e",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272621987,
"stop" : 1716272622080,
"duration" : 93
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "d1e0d7501f9ea60",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272628366,
"stop" : 1716272628501,
"duration" : 135
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-用户名正确,密码过长",
"uid" : "c26c17d72f28aa7f",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}", "'中'", "'反向用例-用户名正确,密码过长'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
}, {
"name" : "正向用例",
"uid" : "1ad3f99f8aec3b78",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272651358,
"stop" : 1716272651491,
"duration" : 133
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803475629817856'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "47066bd5655ab306",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272612750,
"stop" : 1716272612931,
"duration" : 181
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "'高'", "'正向用例'", "{'message': '添加组织成功'}", "'POST'", "'json'", "'组织管理'", "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}", "'select|delete'", "'demId'", "'http://120.46.172.186:8080/api/org/v1/org/addOrg'" ]
}, {
"name" : "登录--前置",
"uid" : "ce412b2b5e44b608",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "a011264732c293ec",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "failed",
"time" : {
"start" : 1716272626207,
"stop" : 1716272626341,
"duration" : 134
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '1792803379156631552'}", "'中'", "'正向用例'", "{'message': '删除维度成功'}", "'DELETE'", "'query'", "'维度管理'", "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'", "'select'", "'ids'", "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-密码正确,用户名过短",
"uid" : "96596e0fab9d3415",
"parentUid" : "e4a707af5684e391a4553cf4ade23b8f",
"status" : "passed",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'a', 'password': 'MTIzNDU2'}", "'中'", "'反向用例-密码正确,用户名过短'", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "'认证接口'", "None", "None", "None", "'http://120.46.172.186:8080/auth'" ]
} ],
"uid" : "e4a707af5684e391a4553cf4ade23b8f"
} ],
"uid" : "7e33cee26d6ca920df2dc9409741f061"
} ]
}
\ No newline at end of file
launch_status failed=5 1716272796000000000
launch_status broken=0 1716272796000000000
launch_status passed=21 1716272796000000000
launch_status skipped=0 1716272796000000000
launch_status unknown=0 1716272796000000000
launch_time duration=57069 1716272796000000000
launch_time min_duration=1 1716272796000000000
launch_time max_duration=185 1716272796000000000
launch_time sum_duration=2426 1716272796000000000
launch_problems product_defects=5 1716272796000000000
launch_retries retries=25 1716272796000000000
launch_retries run=26 1716272796000000000
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Allure Report summary mail</title>
</head>
<body>
Mail body
</body>
</html>
launch_status_failed 5
launch_status_broken 0
launch_status_passed 21
launch_status_skipped 0
launch_status_unknown 0
launch_time_duration 57069
launch_time_min_duration 1
launch_time_max_duration 185
launch_time_sum_duration 2426
launch_problems_product_defects 5
launch_retries_retries 25
launch_retries_run 26
module.exports = __webpack_public_path__ + "favicon.ico";
\ No newline at end of file
[ {
"data" : {
"Product defects" : 5
}
} ]
\ No newline at end of file
[ {
"data" : {
"duration" : 57069
}
} ]
\ No newline at end of file
[ {
"data" : {
"failed" : 5,
"broken" : 0,
"skipped" : 0,
"passed" : 21,
"unknown" : 0,
"total" : 26
}
} ]
\ No newline at end of file
{
"83d67cdc5550a580709b5379b214757d" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "a0b87df8f50dc316",
"status" : "passed",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
}
} ]
},
"45fbe766301d5f34f2314154dd48ad7c" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "d093b8587a3ab4f3",
"status" : "passed",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
}
} ]
},
"526f1fd519b78b4955668d6cfd277048" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "643ca7629b09152b",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
}
} ]
},
"2d767e403ea75ccb1f14fcd976c25353" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "adb4666aed6ea6fd",
"status" : "passed",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
}
} ]
},
"1dcae5f805bddffd6ce19e14c8b3458b" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "139913cc61e34bb9",
"status" : "failed",
"statusDetails" : "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\n + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
}
} ]
},
"385bda31fe152e15cd1fc6b7817225aa" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "10e8cf966692af2d",
"status" : "passed",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
}
} ]
},
"435ba53246b35b4af7286c32ad75fe23" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "7af172a2303b627d",
"status" : "passed",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
}
} ]
},
"f7417fae3641334c555177156c21126d" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "80142e22de024a60",
"status" : "passed",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
}
} ]
},
"aab084bf6a05ec45b335f51ecc264b7e" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "510c89b87f6352b8",
"status" : "passed",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
}
} ]
},
"f5ad8b2871fbe9131e812a7e7fd4507e" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "e425d3e0108cef57",
"status" : "passed",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
}
} ]
},
"db26a6f22fbc123482ea90d3e77fa9fd" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "9a2316575f97b91e",
"status" : "passed",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
}
} ]
},
"487ae598a2b30a5ea2489bb3e5fa08a4" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "f7e90e36deb68600",
"status" : "failed",
"statusDetails" : "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
}
} ]
},
"4164dfc118ea6cc8eeb9ce3984609436" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "1bd3c031f056ab2e",
"status" : "passed",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
}
} ]
},
"347d2f73ed73495ba7ba72dbf723f253" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "cc6c15cf3215c8cc",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
}
} ]
},
"fa305c7b3d900250c6115572baa5540a" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "5b0b595f880fe013",
"status" : "passed",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
}
} ]
},
"968bf5f1bc5266807075e84dfd49d322" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "8142d41860b04b15",
"status" : "passed",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
}
} ]
},
"ca39ba3d830745ef2c54de45a0fd94de" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "5532c9175fb2354e",
"status" : "passed",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
}
} ]
},
"2c19ea97cbbe4cb31079c2ee05828120" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "dd7fa74e2935b20a",
"status" : "passed",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
}
} ]
},
"f0f670cbfec7a9680aec241c756307a6" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "6bce7862e8bf2a3f",
"status" : "failed",
"statusDetails" : "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
}
} ]
},
"5ee7a985530eff8db65cbc3fbd8fd151" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "b6d10bbf3ce5a604",
"status" : "passed",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
}
} ]
},
"e133082949e07d38e4a8587843153535" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "15e35cc79ee68b8c",
"status" : "passed",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
}
} ]
},
"112831bd8b103ba5270ea46bde2822af" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "7efd9dd32f98b518",
"status" : "passed",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
}
} ]
},
"37bde76add67e3f73e804e1ff293bbd9" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "c26c17d72f28aa7f",
"status" : "passed",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
}
} ]
},
"b3ea99bce5fbf89dc61e67ffc74d2796" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "ce412b2b5e44b608",
"status" : "passed",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
}
} ]
},
"f523c6add46569d79b9a33cc763be891" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "76ee0be7403e029e",
"status" : "passed",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
}
} ]
},
"1a3971dd942170d7f7bcf2c1f2eecd8f" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "96596e0fab9d3415",
"status" : "passed",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
}
} ]
}
}
\ No newline at end of file
[ {
"data" : {
"run" : 26,
"retry" : 25
}
} ]
\ No newline at end of file
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Allure Report</title>
<link rel="favicon" href="favicon.ico?v=2">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="plugins/screen-diff/styles.css">
</head>
<body>
<div id="alert"></div>
<div id="content">
<span class="spinner">
<span class="spinner__circle"></span>
</span>
</div>
<div id="popup"></div>
<script src="app.js"></script>
<script src="plugins/behaviors/index.js"></script>
<script src="plugins/packages/index.js"></script>
<script src="plugins/screen-diff/index.js"></script>
</body>
</html>
'use strict';
allure.api.addTranslation('en', {
tab: {
behaviors: {
name: 'Behaviors'
}
},
widget: {
behaviors: {
name: 'Features by stories',
showAll: 'show all'
}
}
});
allure.api.addTranslation('ru', {
tab: {
behaviors: {
name: 'Функциональность'
}
},
widget: {
behaviors: {
name: 'Функциональность',
showAll: 'показать все'
}
}
});
allure.api.addTranslation('zh', {
tab: {
behaviors: {
name: '功能'
}
},
widget: {
behaviors: {
name: '特性场景',
showAll: '显示所有'
}
}
});
allure.api.addTranslation('de', {
tab: {
behaviors: {
name: 'Verhalten'
}
},
widget: {
behaviors: {
name: 'Features nach Stories',
showAll: 'Zeige alle'
}
}
});
allure.api.addTranslation('nl', {
tab: {
behaviors: {
name: 'Functionaliteit'
}
},
widget: {
behaviors: {
name: 'Features en story’s',
showAll: 'Toon alle'
}
}
});
allure.api.addTranslation('he', {
tab: {
behaviors: {
name: 'התנהגויות'
}
},
widget: {
behaviors: {
name: 'תכונות לפי סיפורי משתמש',
showAll: 'הצג הכול'
}
}
});
allure.api.addTranslation('br', {
tab: {
behaviors: {
name: 'Comportamentos'
}
},
widget: {
behaviors: {
name: 'Funcionalidades por história',
showAll: 'Mostrar tudo'
}
}
});
allure.api.addTranslation('ja', {
tab: {
behaviors: {
name: '振る舞い'
}
},
widget: {
behaviors: {
name: 'ストーリー別の機能',
showAll: '全て表示'
}
}
});
allure.api.addTranslation('es', {
tab: {
behaviors: {
name: 'Funcionalidades'
}
},
widget: {
behaviors: {
name: 'Funcionalidades por Historias de Usuario',
showAll: 'mostrar todo'
}
}
});
allure.api.addTranslation('kr', {
tab: {
behaviors: {
name: '동작'
}
},
widget: {
behaviors: {
name: '스토리별 기능',
showAll: '전체 보기'
}
}
});
allure.api.addTranslation('fr', {
tab: {
behaviors: {
name: 'Comportements'
}
},
widget: {
behaviors: {
name: 'Thèmes par histoires',
showAll: 'Montrer tout'
}
}
});
allure.api.addTab('behaviors', {
title: 'tab.behaviors.name', icon: 'fa fa-list',
route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
onEnter: (function (testGroup, testResult, testResultTab) {
return new allure.components.TreeLayout({
testGroup: testGroup,
testResult: testResult,
testResultTab: testResultTab,
tabName: 'tab.behaviors.name',
baseUrl: 'behaviors',
url: 'data/behaviors.json',
csvUrl: 'data/behaviors.csv'
});
})
});
allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({
rowTag: 'a',
title: 'widget.behaviors.name',
baseUrl: 'behaviors',
showLinks: true
}));
'use strict';
allure.api.addTranslation('en', {
tab: {
packages: {
name: 'Packages'
}
}
});
allure.api.addTranslation('ru', {
tab: {
packages: {
name: 'Пакеты'
}
}
});
allure.api.addTranslation('zh', {
tab: {
packages: {
name: '包'
}
}
});
allure.api.addTranslation('de', {
tab: {
packages: {
name: 'Pakete'
}
}
});
allure.api.addTranslation('nl', {
tab: {
packages: {
name: 'Packages'
}
}
});
allure.api.addTranslation('he', {
tab: {
packages: {
name: 'חבילות'
}
}
});
allure.api.addTranslation('br', {
tab: {
packages: {
name: 'Pacotes'
}
}
});
allure.api.addTranslation('ja', {
tab: {
packages: {
name: 'パッケージ'
}
}
});
allure.api.addTranslation('es', {
tab: {
packages: {
name: 'Paquetes'
}
}
});
allure.api.addTranslation('kr', {
tab: {
packages: {
name: '패키지'
}
}
});
allure.api.addTranslation('fr', {
tab: {
packages: {
name: 'Paquets'
}
}
});
allure.api.addTab('packages', {
title: 'tab.packages.name', icon: 'fa fa-align-left',
route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
onEnter: (function (testGroup, testResult, testResultTab) {
return new allure.components.TreeLayout({
testGroup: testGroup,
testResult: testResult,
testResultTab: testResultTab,
tabName: 'tab.packages.name',
baseUrl: 'packages',
url: 'data/packages.json'
});
})
});
(function () {
var settings = allure.getPluginSettings('screen-diff', { diffType: 'diff' });
function renderImage(src) {
return (
'<div class="screen-diff__container">' +
'<img class="screen-diff__image" src="' +
src +
'">' +
'</div>'
);
}
function findImage(data, name) {
if (data.testStage && data.testStage.attachments) {
var matchedImage = data.testStage.attachments.filter(function (attachment) {
return attachment.name === name;
})[0];
if (matchedImage) {
return 'data/attachments/' + matchedImage.source;
}
}
return null;
}
function renderDiffContent(type, diffImage, actualImage, expectedImage) {
if (type === 'diff') {
if (diffImage) {
return renderImage(diffImage);
}
}
if (type === 'overlay' && expectedImage) {
return (
'<div class="screen-diff__overlay screen-diff__container">' +
'<img class="screen-diff__image" src="' +
expectedImage +
'">' +
'<div class="screen-diff__image-over">' +
'<img class="screen-diff__image" src="' +
actualImage +
'">' +
'</div>' +
'</div>'
);
}
if (actualImage) {
return renderImage(actualImage);
}
return 'No diff data provided';
}
var TestResultView = Backbone.Marionette.View.extend({
regions: {
subView: '.screen-diff-view',
},
template: function () {
return '<div class="screen-diff-view"></div>';
},
onRender: function () {
var data = this.model.toJSON();
var testType = data.labels.filter(function (label) {
return label.name === 'testType';
})[0];
var diffImage = findImage(data, 'diff');
var actualImage = findImage(data, 'actual');
var expectedImage = findImage(data, 'expected');
if (!testType || testType.value !== 'screenshotDiff') {
return;
}
this.showChildView(
'subView',
new ScreenDiffView({
diffImage: diffImage,
actualImage: actualImage,
expectedImage: expectedImage,
}),
);
},
});
var ErrorView = Backbone.Marionette.View.extend({
templateContext: function () {
return this.options;
},
template: function (data) {
return '<pre class="screen-diff-error">' + data.error + '</pre>';
},
});
var AttachmentView = Backbone.Marionette.View.extend({
regions: {
subView: '.screen-diff-view',
},
template: function () {
return '<div class="screen-diff-view"></div>';
},
onRender: function () {
jQuery
.getJSON(this.options.sourceUrl)
.then(this.renderScreenDiffView.bind(this), this.renderErrorView.bind(this));
},
renderErrorView: function (error) {
console.log(error);
this.showChildView(
'subView',
new ErrorView({
error: error.statusText,
}),
);
},
renderScreenDiffView: function (data) {
this.showChildView(
'subView',
new ScreenDiffView({
diffImage: data.diff,
actualImage: data.actual,
expectedImage: data.expected,
}),
);
},
});
var ScreenDiffView = Backbone.Marionette.View.extend({
className: 'pane__section',
events: function () {
return {
['click [name="screen-diff-type-' + this.cid + '"]']: 'onDiffTypeChange',
'mousemove .screen-diff__overlay': 'onOverlayMove',
};
},
initialize: function (options) {
this.diffImage = options.diffImage;
this.actualImage = options.actualImage;
this.expectedImage = options.expectedImage;
this.radioName = 'screen-diff-type-' + this.cid;
},
templateContext: function () {
return {
diffType: settings.get('diffType'),
diffImage: this.diffImage,
actualImage: this.actualImage,
expectedImage: this.expectedImage,
radioName: this.radioName,
};
},
template: function (data) {
if (!data.diffImage && !data.actualImage && !data.expectedImage) {
return '';
}
return (
'<h3 class="pane__section-title">Screen Diff</h3>' +
'<div class="screen-diff__content">' +
'<div class="screen-diff__switchers">' +
'<label><input type="radio" name="' +
data.radioName +
'" value="diff"> Show diff</label>' +
'<label><input type="radio" name="' +
data.radioName +
'" value="overlay"> Show overlay</label>' +
'</div>' +
renderDiffContent(
data.diffType,
data.diffImage,
data.actualImage,
data.expectedImage,
) +
'</div>'
);
},
adjustImageSize: function (event) {
var overImage = this.$(event.target);
overImage.width(overImage.width());
},
onRender: function () {
const diffType = settings.get('diffType');
this.$('[name="' + this.radioName + '"][value="' + diffType + '"]').prop(
'checked',
true,
);
if (diffType === 'overlay') {
this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this));
}
},
onOverlayMove: function (event) {
var pageX = event.pageX;
var containerScroll = this.$('.screen-diff__container').scrollLeft();
var elementX = event.currentTarget.getBoundingClientRect().left;
var delta = pageX - elementX + containerScroll;
this.$('.screen-diff__image-over').width(delta);
},
onDiffTypeChange: function (event) {
settings.save('diffType', event.target.value);
this.render();
},
});
allure.api.addTestResultBlock(TestResultView, { position: 'before' });
allure.api.addAttachmentViewer('application/vnd.allure.image.diff', {
View: AttachmentView,
icon: 'fa fa-exchange',
});
})();
.screen-diff__switchers {
margin-bottom: 1em;
}
.screen-diff__switchers label + label {
margin-left: 1em;
}
.screen-diff__overlay {
position: relative;
cursor: col-resize;
}
.screen-diff__container {
overflow-x: auto;
}
.screen-diff__image-over {
top: 0;
left: 0;
bottom: 0;
background: #fff;
position: absolute;
overflow: hidden;
box-shadow: 2px 0 1px -1px #aaa;
}
.screen-diff-error {
color: #fd5a3e;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"total" : 3,
"items" : [ {
"uid" : "66550695002566ec8b65b624a9b94173",
"name" : "BPM系统-demo",
"statistic" : {
"failed" : 3,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 3
}
}, {
"uid" : "6e01d6d59ee91e3571e91df05295436f",
"name" : "BPM系统-老张",
"statistic" : {
"failed" : 2,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 2
}
}, {
"uid" : "94f1553abd732a71c34e7dce06118ae5",
"name" : "BPM-场景测试",
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 3,
"unknown" : 0,
"total" : 3
}
} ]
}
\ No newline at end of file
[ {
"data" : {
"Product defects" : 5
}
} ]
\ No newline at end of file
{
"total" : 1,
"items" : [ {
"uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d",
"name" : "Product defects",
"statistic" : {
"failed" : 5,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 5
}
} ]
}
\ No newline at end of file
[ {
"data" : {
"duration" : 57069
}
} ]
\ No newline at end of file
[ {
"uid" : "8142d41860b04b15",
"name" : "反向用例-密码正确,用户名过长",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "139913cc61e34bb9",
"name" : "正向用例",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "80142e22de024a60",
"name" : "正向用例-正确输入用户名和密码",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "cc6c15cf3215c8cc",
"name" : "正向用例",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1bd3c031f056ab2e",
"name" : "反向用例-用户名正确,密码为空",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5b0b595f880fe013",
"name" : "反向用例-密码正确,用户名为特殊字符",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "9a2316575f97b91e",
"name" : "正向用例",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b6d10bbf3ce5a604",
"name" : "正向用例",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5532c9175fb2354e",
"name" : "反向用例-密码正确,用户名为空",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "76ee0be7403e029e",
"name" : "正向用例",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "adb4666aed6ea6fd",
"name" : "正向用例",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7af172a2303b627d",
"name" : "正向用例",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "f7e90e36deb68600",
"name" : "正向用例",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "10e8cf966692af2d",
"name" : "正向用例",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "15e35cc79ee68b8c",
"name" : "正向用例",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "ce412b2b5e44b608",
"name" : "登录--前置",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "510c89b87f6352b8",
"name" : "正向用例",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "6bce7862e8bf2a3f",
"name" : "正向用例",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a0b87df8f50dc316",
"name" : "反向用例-密码正确,用户名错误",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "c26c17d72f28aa7f",
"name" : "反向用例-用户名正确,密码过长",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d093b8587a3ab4f3",
"name" : "反向用例-用户名正确,密码为特殊字符",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "dd7fa74e2935b20a",
"name" : "添加维度-依赖登录",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "643ca7629b09152b",
"name" : "正向用例",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "e425d3e0108cef57",
"name" : "反向用例-用户名正确,密码过短",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7efd9dd32f98b518",
"name" : "test用例函数-依赖登录成功和添加维度成功",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "96596e0fab9d3415",
"name" : "反向用例-密码正确,用户名过短",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"status" : "passed",
"severity" : "normal"
} ]
\ No newline at end of file
[ {
"data" : {
"failed" : 5,
"broken" : 0,
"skipped" : 0,
"passed" : 21,
"unknown" : 0,
"total" : 26
}
} ]
\ No newline at end of file
[ {
"data" : {
"run" : 26,
"retry" : 25
}
} ]
\ No newline at end of file
[ {
"uid" : "7efd9dd32f98b518",
"name" : "test用例函数-依赖登录成功和添加维度成功",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d093b8587a3ab4f3",
"name" : "反向用例-用户名正确,密码为特殊字符",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b6d10bbf3ce5a604",
"name" : "正向用例",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "6bce7862e8bf2a3f",
"name" : "正向用例",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "c26c17d72f28aa7f",
"name" : "反向用例-用户名正确,密码过长",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "f7e90e36deb68600",
"name" : "正向用例",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "510c89b87f6352b8",
"name" : "正向用例",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7af172a2303b627d",
"name" : "正向用例",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "e425d3e0108cef57",
"name" : "反向用例-用户名正确,密码过短",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "139913cc61e34bb9",
"name" : "正向用例",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "15e35cc79ee68b8c",
"name" : "正向用例",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "dd7fa74e2935b20a",
"name" : "添加维度-依赖登录",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "96596e0fab9d3415",
"name" : "反向用例-密码正确,用户名过短",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "adb4666aed6ea6fd",
"name" : "正向用例",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "9a2316575f97b91e",
"name" : "正向用例",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "76ee0be7403e029e",
"name" : "正向用例",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "643ca7629b09152b",
"name" : "正向用例",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1bd3c031f056ab2e",
"name" : "反向用例-用户名正确,密码为空",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "cc6c15cf3215c8cc",
"name" : "正向用例",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "ce412b2b5e44b608",
"name" : "登录--前置",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a0b87df8f50dc316",
"name" : "反向用例-密码正确,用户名错误",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "10e8cf966692af2d",
"name" : "正向用例",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "80142e22de024a60",
"name" : "正向用例-正确输入用户名和密码",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "8142d41860b04b15",
"name" : "反向用例-密码正确,用户名过长",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5532c9175fb2354e",
"name" : "反向用例-密码正确,用户名为空",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5b0b595f880fe013",
"name" : "反向用例-密码正确,用户名为特殊字符",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"status" : "passed",
"severity" : "normal"
} ]
\ No newline at end of file
[ {
"uid" : "8142d41860b04b15",
"name" : "反向用例-密码正确,用户名过长",
"time" : {
"start" : 1716272599315,
"stop" : 1716272599407,
"duration" : 92
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "139913cc61e34bb9",
"name" : "正向用例",
"time" : {
"start" : 1716272610326,
"stop" : 1716272610382,
"duration" : 56
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "80142e22de024a60",
"name" : "正向用例-正确输入用户名和密码",
"time" : {
"start" : 1716272598748,
"stop" : 1716272598811,
"duration" : 63
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "cc6c15cf3215c8cc",
"name" : "正向用例",
"time" : {
"start" : 1716272632686,
"stop" : 1716272632817,
"duration" : 131
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1bd3c031f056ab2e",
"name" : "反向用例-用户名正确,密码为空",
"time" : {
"start" : 1716272598829,
"stop" : 1716272598886,
"duration" : 57
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5b0b595f880fe013",
"name" : "反向用例-密码正确,用户名为特殊字符",
"time" : {
"start" : 1716272599527,
"stop" : 1716272599627,
"duration" : 100
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "9a2316575f97b91e",
"name" : "正向用例",
"time" : {
"start" : 1716272621920,
"stop" : 1716272621978,
"duration" : 58
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b6d10bbf3ce5a604",
"name" : "正向用例",
"time" : {
"start" : 1716272644883,
"stop" : 1716272644938,
"duration" : 55
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5532c9175fb2354e",
"name" : "反向用例-密码正确,用户名为空",
"time" : {
"start" : 1716272599213,
"stop" : 1716272599306,
"duration" : 93
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "76ee0be7403e029e",
"name" : "正向用例",
"time" : {
"start" : 1716272644818,
"stop" : 1716272644873,
"duration" : 55
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "adb4666aed6ea6fd",
"name" : "正向用例",
"time" : {
"start" : 1716272644756,
"stop" : 1716272644809,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7af172a2303b627d",
"name" : "正向用例",
"time" : {
"start" : 1716272610398,
"stop" : 1716272610534,
"duration" : 136
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "f7e90e36deb68600",
"name" : "正向用例",
"time" : {
"start" : 1716272621599,
"stop" : 1716272621780,
"duration" : 181
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "10e8cf966692af2d",
"name" : "正向用例",
"time" : {
"start" : 1716272621795,
"stop" : 1716272621848,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "15e35cc79ee68b8c",
"name" : "正向用例",
"time" : {
"start" : 1716272621856,
"stop" : 1716272621912,
"duration" : 56
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "ce412b2b5e44b608",
"name" : "登录--前置",
"time" : {
"start" : 1716272632845,
"stop" : 1716272632940,
"duration" : 95
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "510c89b87f6352b8",
"name" : "正向用例",
"time" : {
"start" : 1716272633398,
"stop" : 1716272633535,
"duration" : 137
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "6bce7862e8bf2a3f",
"name" : "正向用例",
"time" : {
"start" : 1716272655685,
"stop" : 1716272655817,
"duration" : 132
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a0b87df8f50dc316",
"name" : "反向用例-密码正确,用户名错误",
"time" : {
"start" : 1716272599640,
"stop" : 1716272599737,
"duration" : 97
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "c26c17d72f28aa7f",
"name" : "反向用例-用户名正确,密码过长",
"time" : {
"start" : 1716272598895,
"stop" : 1716272598989,
"duration" : 94
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d093b8587a3ab4f3",
"name" : "反向用例-用户名正确,密码为特殊字符",
"time" : {
"start" : 1716272599103,
"stop" : 1716272599203,
"duration" : 100
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "dd7fa74e2935b20a",
"name" : "添加维度-依赖登录",
"time" : {
"start" : 1716272632942,
"stop" : 1716272633094,
"duration" : 152
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "643ca7629b09152b",
"name" : "正向用例",
"time" : {
"start" : 1716272644557,
"stop" : 1716272644742,
"duration" : 185
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "e425d3e0108cef57",
"name" : "反向用例-用户名正确,密码过短",
"time" : {
"start" : 1716272598998,
"stop" : 1716272599093,
"duration" : 95
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7efd9dd32f98b518",
"name" : "test用例函数-依赖登录成功和添加维度成功",
"time" : {
"start" : 1716272633097,
"stop" : 1716272633098,
"duration" : 1
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "96596e0fab9d3415",
"name" : "反向用例-密码正确,用户名过短",
"time" : {
"start" : 1716272599418,
"stop" : 1716272599517,
"duration" : 99
},
"status" : "passed",
"severity" : "normal"
} ]
\ No newline at end of file
{
"total" : 3,
"items" : [ {
"uid" : "7a8b7e46177bbd4d1efa8551fea4a38d",
"name" : "test_case.test_demo",
"statistic" : {
"failed" : 3,
"broken" : 0,
"skipped" : 0,
"passed" : 14,
"unknown" : 0,
"total" : 17
}
}, {
"uid" : "663b5eac116b5bc6651b8e1e82719203",
"name" : "test_case.test_mirZhang",
"statistic" : {
"failed" : 2,
"broken" : 0,
"skipped" : 0,
"passed" : 4,
"unknown" : 0,
"total" : 6
}
}, {
"uid" : "5fa37ee52138cac4807b87b482b5d721",
"name" : "test_case.test_dependency",
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 3,
"unknown" : 0,
"total" : 3
}
} ]
}
\ No newline at end of file
{
"reportName" : "Allure Report",
"testRuns" : [ ],
"statistic" : {
"failed" : 5,
"broken" : 0,
"skipped" : 0,
"passed" : 21,
"unknown" : 0,
"total" : 26
},
"time" : {
"start" : 1716272598748,
"stop" : 1716272655817,
"duration" : 57069,
"minDuration" : 1,
"maxDuration" : 185,
"sumDuration" : 2426
}
}
\ No newline at end of file
{"uuid": "0bf15b3d-f4ad-454c-9864-e0252ea4c961", "befores": [{"name": "case_level", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651502}
\ No newline at end of file
{"uuid": "685ee612-58df-46f3-b4f5-794a2042ea3a", "befores": [{"name": "case_level", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632840}
\ No newline at end of file
{"uuid": "c047281a-89b2-4a9f-9671-d94e1a630b04", "befores": [{"name": "method", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610536}
\ No newline at end of file
{"uuid": "37901bbe-6b86-41ac-a2eb-b0b6fccaf39b", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272633396, "stop": 1716272633397}], "start": 1716272633396, "stop": 1716272633536}
\ No newline at end of file
{"uuid": "74957ac1-b488-44b6-ae15-f8d7296e25de", "befores": [{"name": "api_name", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640352}
\ No newline at end of file
{"uuid": "2f26fdbb-b6ba-45ae-aa61-fa2ff4128c02", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599208}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
\ No newline at end of file
{"uuid": "c08da0ca-507e-448e-9c7a-1202a490de13", "befores": [{"name": "module_name", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638149}
\ No newline at end of file
{"uuid": "21b2a738-d780-4e5b-b82a-d15a302ed34a", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599312}
\ No newline at end of file
{"uuid": "dddd8ab5-c61e-4771-9401-58a9c328961d", "befores": [{"name": "mime", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647181}
\ No newline at end of file
{"uuid": "8cf06171-fde2-48dd-9cef-326d59e3d055", "befores": [{"name": "mime", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626351}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "d4e0c411-9956-42f8-918c-a683946dd5be", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599627}
\ No newline at end of file
{"uuid": "6a2b4bd9-f74d-4896-9dab-23e3561fe97a", "befores": [{"name": "update_key", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619573}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "226e0fa2-2ee1-42d7-bec9-aca2cb096233", "befores": [{"name": "api_name", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608307}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "96543332-39f5-42aa-b859-24cce9f5245a", "befores": [{"name": "module_name", "status": "passed", "start": 1716272642364, "stop": 1716272642364}], "start": 1716272642364, "stop": 1716272642552}
\ No newline at end of file
{"uuid": "c3c49881-d63a-4311-b288-4bd1560f9d01", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600009}
\ No newline at end of file
{"uuid": "e24798ef-808f-49e3-8fb0-d48a47a0aec7", "befores": [{"name": "update_key", "status": "passed", "start": 1716272644883, "stop": 1716272644883}], "start": 1716272644883, "stop": 1716272644938}
\ No newline at end of file
{"uuid": "e8f6a2b7-9e01-47e8-9775-8b44f2a4e474", "befores": [{"name": "update_key", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612938}
\ No newline at end of file
{"uuid": "69d01c4e-06de-4f80-88a9-3d9f0cff3f89", "befores": [{"name": "case_level", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599097}
\ No newline at end of file
{"uuid": "d48e8221-7f31-4bc1-bfc3-a054fbb76afc", "befores": [{"name": "mime", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617363}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "46371412-faee-451b-86c3-90e0bb2d8ccb", "befores": [{"name": "module_name", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598824}
\ No newline at end of file
{"uuid": "e136c064-5ff8-46cc-9c68-b26df94b1a66", "befores": [{"name": "module_name", "status": "passed", "start": 1716272598827, "stop": 1716272598828}], "start": 1716272598827, "stop": 1716272598890}
\ No newline at end of file
{"uuid": "c249e50b-1675-4389-a910-e9d842d3e24f", "befores": [{"name": "api_name", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610736}
\ No newline at end of file
{"uuid": "4f16e11b-188c-4072-9e70-892f0b6f7875", "befores": [{"name": "update_key", "status": "passed", "start": 1716272640167, "stop": 1716272640167}], "start": 1716272640167, "stop": 1716272640348}
\ No newline at end of file
{"uuid": "32880bc8-53ea-4b0b-95f2-7c7713f30b74", "befores": [{"name": "api_name", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645065}
\ No newline at end of file
{"uuid": "7b62ef0b-8fe4-4a0d-bc6c-cbe4b949e223", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624193}
\ No newline at end of file
{"uuid": "da850ac7-dec9-4f1b-901b-89de8f3f7ee9", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599207}
\ No newline at end of file
{"uuid": "a575da8f-9b28-4a37-ab30-21c5db9e3e5b", "befores": [{"name": "mime", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610536}
\ No newline at end of file
{"uuid": "4bddc20b-93f9-41d5-956b-e7fdf3d157ab", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599306}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "18203871-00d2-484a-8825-b23713f6f03e-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272633544, "stop": 1716272633720, "uuid": "dc48b39d-111b-4056-9500-807350a26c70", "historyId": "526f1fd519b78b4955668d6cfd277048", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "511132eb-602b-4e01-8e3f-ccee474db0b7", "befores": [{"name": "case_title", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626352}
\ No newline at end of file
{"uuid": "2bad23d3-14b8-474c-85a4-5ce7cbf7ca44", "befores": [{"name": "case_data", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644811}
\ No newline at end of file
{"uuid": "37f1fe0d-4345-4f46-98c5-f6f642603aac", "befores": [{"name": "api_name", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630671}
\ No newline at end of file
{"uuid": "ec0a09b8-c2e3-40be-80e8-323fb60a2bc1", "befores": [{"name": "url", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653671}
\ No newline at end of file
{"uuid": "bd1258e3-de59-4ead-aaf2-47b00893216b", "befores": [{"name": "update_key", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608302}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
\ No newline at end of file
{"uuid": "c56792ee-0133-4789-8253-d1f23bf3ae73", "befores": [{"name": "case_data", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633730}
\ No newline at end of file
{"uuid": "dbfc7df8-7efa-45a2-8dae-f5a5a2cbae3d", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599740}
\ No newline at end of file
{"uuid": "81441cd6-ead2-4adc-9e9e-30e8959e0511", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599206}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "ffc90896-8c4a-409c-879e-2147917405fd", "befores": [{"name": "api_name", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638149}
\ No newline at end of file
{"uuid": "e4151cbb-4548-415d-8725-d431cda89ac6", "befores": [{"name": "url", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599740}
\ No newline at end of file
{"uuid": "6142d282-6366-4baa-b723-27ea2da94b4a", "befores": [{"name": "mime", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604154}
\ No newline at end of file
{"name": "反向用例-密码正确,用户名为空", "status": "passed", "attachments": [{"name": "log", "source": "4bcb6226-c1aa-4031-bbd9-a0fb2c8c397a-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "ff1b7ef5-5c75-4e56-9781-3197149c28b8-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-密码正确,用户名为空'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': '', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599213, "stop": 1716272599306, "uuid": "f710be2f-06ac-4f7b-9de8-4e5de112e5b7", "historyId": "ca39ba3d830745ef2c54de45a0fd94de", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "2fbc64fb-f67f-4171-937d-553da4255c5a", "befores": [{"name": "case_data", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621980}
\ No newline at end of file
{"uuid": "02cf4629-73cf-4166-8f91-bb9a35a199f5", "befores": [{"name": "case_title", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630670}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
\ No newline at end of file
{"uuid": "91f03356-92de-4a90-b4b4-ad9bd2bb9a37", "befores": [{"name": "api_name", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621851}
\ No newline at end of file
{"uuid": "9720b981-ba89-4170-89e2-40e8b1256cef", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599412}
\ No newline at end of file
{"uuid": "b735b220-3783-4b7f-994f-aa0d2d0cf7f3", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599410}
\ No newline at end of file
{"uuid": "32d8b096-a51d-4f9b-890f-2225aeabe060", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644874}
\ No newline at end of file
{"uuid": "1defcf87-0a92-4f53-8287-b70f13f384ce", "befores": [{"name": "update_key", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655825}
\ No newline at end of file
{"uuid": "61460a6a-21b4-4627-aa5b-38596ce55735", "befores": [{"name": "update_key", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621978}
\ No newline at end of file
{"uuid": "78efe232-dc59-40dd-a7a4-0c326a89c13c", "befores": [{"name": "method", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619577}
\ No newline at end of file
{"uuid": "806d3174-b17b-405b-b3e3-2c48f50d0420", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608303}
\ No newline at end of file
{"uuid": "d805b7bf-09ea-4959-a185-e62b52022508", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617362}
\ No newline at end of file
{"uuid": "7395258f-5158-4def-b518-cf2cac74af73", "befores": [{"name": "update_key", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644873}
\ No newline at end of file
{"uuid": "0abf3798-b631-404d-b8ab-245edb4ce2f3", "befores": [{"name": "case_title", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598889}
\ No newline at end of file
{"uuid": "047dd5fa-4e36-4c55-b77f-d969da2032e9", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272640167, "stop": 1716272640167}], "start": 1716272640167, "stop": 1716272640349}
\ No newline at end of file
{"uuid": "2145dfcd-bc1e-44eb-9489-e8ebc6610eaf", "befores": [{"name": "update_key", "status": "passed", "start": 1716272598748, "stop": 1716272598748}], "start": 1716272598748, "stop": 1716272598811}
\ No newline at end of file
{"uuid": "692f4ef3-26cf-4dd8-ac29-210ee8bde137", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644749}
\ No newline at end of file
{"uuid": "50332d9a-d46d-4d71-b2bc-5cc7a19d8b01", "befores": [{"name": "api_name", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633732}
\ No newline at end of file
{"uuid": "2bd51c4f-835d-42e4-bf40-642646eebaf9", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644810}
\ No newline at end of file
{"uuid": "e5ac9538-10cc-43ee-96a6-8d1a8f3edb64", "befores": [{"name": "case_level", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606226}
\ No newline at end of file
{"uuid": "06a7d040-4fe6-48b9-89a5-e526ff632e81", "befores": [{"name": "case_level", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604155}
\ No newline at end of file
{"uuid": "0a431f21-d676-46b7-ab3c-a4c650c58545", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599314, "stop": 1716272599315}], "start": 1716272599314, "stop": 1716272599412}
\ No newline at end of file
{"uuid": "d716d82b-b7f7-4373-b05d-e09caf8b16e5", "befores": [{"name": "method", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600009}
\ No newline at end of file
{"uuid": "03e4d1bb-62f5-4e3b-bd18-add6a164fbd2", "befores": [{"name": "method", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602083}
\ No newline at end of file
{"uuid": "4e6fea3b-f57d-47da-9615-3a82a65ed7f9", "befores": [{"name": "module_name", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653674}
\ No newline at end of file
{"uuid": "b6f27304-52e7-49dd-be86-e3ffa393b6fc", "befores": [{"name": "mime", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630669}
\ No newline at end of file
{"uuid": "4fb0731a-8835-49ee-83a4-a5abed5a1b3c", "befores": [{"name": "case_level", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621916}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "07111704-3daa-49b0-931c-0bfc1c2e3d05", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272614968, "stop": 1716272614968}], "start": 1716272614968, "stop": 1716272615155}
\ No newline at end of file
{"uuid": "c9af3f8d-4140-41d0-81a9-aa65b1a348be", "befores": [{"name": "update_key", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610390}
\ No newline at end of file
{"uuid": "9b0e3c6c-7e5f-42bf-96bc-67e7e68d8669", "befores": [{"name": "case_title", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644812}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\n + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191C40C0>('message')\nE + where <built-in method get of dict object at 0x0000014F191C40C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "abf84792-f2ec-441a-a2b2-2d91eac46968-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'GET'"}, {"name": "url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272610326, "stop": 1716272610382, "uuid": "fd70df5f-0b98-4362-bc4d-e73ff8bff407", "historyId": "1dcae5f805bddffd6ce19e14c8b3458b", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "1e686db6-9bc7-4c17-a6e3-d57c9fde3231", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632829}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
\ No newline at end of file
{"uuid": "38e5fd55-c430-4a23-b30b-f7d81e3b3774", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651499}
\ No newline at end of file
{"uuid": "651494ab-7d6b-4009-9a53-08303f0ccc17", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651500}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDYsImlhdCI6MTcxNjI3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "d6a4ec55-bfa6-4553-ac67-8ed32d82284c", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599311}
\ No newline at end of file
{"uuid": "02e49788-c50d-45ff-8b58-f37b8d514bd9", "befores": [{"name": "module_name", "status": "passed", "start": 1716272649195, "stop": 1716272649196}], "start": 1716272649195, "stop": 1716272649340}
\ No newline at end of file
{"uuid": "df2ae797-e025-4bbd-b55c-65612db9cc86", "befores": [{"name": "mime", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599095}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "edb607af-88bd-4b64-8430-591655c94b18-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272619383, "stop": 1716272619564, "uuid": "4eabc962-48e4-4ab7-96fe-86e283352683", "historyId": "487ae598a2b30a5ea2489bb3e5fa08a4", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "43d0d50f-6b48-44dd-95ce-8c64c8ec6892", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608303}
\ No newline at end of file
{"uuid": "83b6c36e-48e4-4007-89ce-f655c2f43a46", "befores": [{"name": "method", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626351}
\ No newline at end of file
{"uuid": "aeb1deb0-fb7e-4ca1-9cb5-3d8ce63f10e6", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272644883, "stop": 1716272644883}], "start": 1716272644883, "stop": 1716272644949}
\ No newline at end of file
{"name": "登录--前置", "status": "passed", "attachments": [{"name": "stdout", "source": "d0f3b779-e73a-48a3-a0ef-788faec5fd6d-attachment.txt", "type": "text/plain"}], "start": 1716272632845, "stop": 1716272632940, "uuid": "758954b0-7299-4d44-a8e8-14d4f046ae08", "historyId": "b3ea99bce5fbf89dc61e67ffc74d2796", "testCaseId": "b3ea99bce5fbf89dc61e67ffc74d2796", "fullName": "test_case.test_dependency.test_dependency#test_login", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "epic", "value": "BPM-场景测试"}, {"name": "tag", "value": "dependency"}, {"name": "parentSuite", "value": "test_case.test_dependency"}, {"name": "suite", "value": "test_dependency"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_dependency.test_dependency"}]}
\ No newline at end of file
{"uuid": "0c14fc95-352c-4cda-9ae1-c3dfaf8f1f48", "befores": [{"name": "method", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615156}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803463587971072"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803472635084800"}
\ No newline at end of file
{"uuid": "928d2948-188c-4ff1-9a87-c4476d59c300", "befores": [{"name": "method", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598823}
\ No newline at end of file
{"uuid": "deeb0243-abfb-427c-992a-957dd0683068", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606224}
\ No newline at end of file
{"uuid": "78956eff-10d0-464b-a6de-273e52e9d820", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621980}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803333887508480"}
\ No newline at end of file
{"uuid": "6a9e38d2-fb2c-49fe-ae0e-ef9f81bc8ba5", "befores": [{"name": "case_level", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621983}
\ No newline at end of file
{"uuid": "494d4667-ab0f-4191-9475-dbadbbdcee0b", "befores": [{"name": "case_level", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608305}
\ No newline at end of file
{"uuid": "348e18fe-b5d2-470c-adb8-d5692c205707", "befores": [{"name": "mime", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598991}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "7913ad36-b9cd-4366-80a1-12524ce769be-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803379156631552'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272630526, "stop": 1716272630660, "uuid": "4e3d7a99-f37b-41d9-b955-4f01dbd839f8", "historyId": "347d2f73ed73495ba7ba72dbf723f253", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "d79834ec-17a8-4b74-aecb-5e2256224b3b", "befores": [{"name": "url", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621789}
\ No newline at end of file
{"uuid": "6591e899-8f87-45c7-9035-b1a15cf180a0", "befores": [{"name": "method", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599632}
\ No newline at end of file
{"uuid": "a3672f34-511a-4e39-b8ec-217574ea5ccb", "befores": [{"name": "module_name", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621917}
\ No newline at end of file
{"uuid": "2d4fbde6-7508-4697-bbd8-518b8a668399", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599633}
\ No newline at end of file
{"uuid": "6ff50d3d-afc3-4edf-b569-29241b481b8f", "befores": [{"name": "mime", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633538}
\ No newline at end of file
{"uuid": "0bd87547-0eb6-4325-a8b1-bef6cabfacd4", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599309}
\ No newline at end of file
{"uuid": "449f8a8c-12b3-49e0-a53a-37b58adae944", "befores": [{"name": "mime", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644811}
\ No newline at end of file
{"uuid": "057f1f46-b6ec-47d1-9bc9-f75dc4d1fb8d", "befores": [{"name": "update_key", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633728}
\ No newline at end of file
{"uuid": "401c7238-6c1a-43f1-bb8f-86171d961024", "befores": [{"name": "url", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638147}
\ No newline at end of file
{"uuid": "c4f50723-dd3b-4063-b918-fa95d064e25c", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655835}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803331643555840"}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "ae159987-41f0-4a11-8956-233831fcf803-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "ffdc0bff-bded-4602-93d4-6abd42d0eda1-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'保存组织参数'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'post'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case_data", "value": "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}"}, {"name": "expect_data", "value": "{'state': True, 'message': '保存组织参数成功!', 'value': ''}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272621856, "stop": 1716272621912, "uuid": "843ddd4c-84f3-4889-af3a-e343c0cf7c83", "historyId": "e133082949e07d38e4a8587843153535", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "保存组织参数"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "abb0fb64-16fa-4c28-9c95-51dfb05adbe3", "befores": [{"name": "url", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633730}
\ No newline at end of file
{"uuid": "075604ab-fd87-4b74-b1ba-afc7166276cd", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272604094, "stop": 1716272604095}], "start": 1716272604094, "stop": 1716272604154}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "21fa9c6e-d29c-4553-bf46-d067d06e4b2c", "befores": [{"name": "url", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598992}
\ No newline at end of file
{"uuid": "19cdbc52-c790-429e-b99d-dfba44a0a83b", "befores": [{"name": "case_level", "status": "passed", "start": 1716272642364, "stop": 1716272642364}], "start": 1716272642364, "stop": 1716272642551}
\ No newline at end of file
{"uuid": "b13bd107-33d1-474a-93c2-663ceb03b98f", "befores": [{"name": "url", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619576}
\ No newline at end of file
{"uuid": "006385f0-2b6c-46fe-95ef-adf15f5ec026", "befores": [{"name": "case_title", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633540}
\ No newline at end of file
{"uuid": "d5849693-5e10-443b-b24f-0f220be401c9", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272637956, "stop": 1716272637956}], "start": 1716272637956, "stop": 1716272638146}
\ No newline at end of file
{"uuid": "f57bca08-c7fd-40e4-96b7-2829643f9252", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635937}
\ No newline at end of file
{"uuid": "dabff3ab-acbc-465c-a6d3-736e927051c1", "befores": [{"name": "module_name", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633732}
\ No newline at end of file
{"uuid": "22900768-e273-4013-b17c-9226272238c4", "befores": [{"name": "case_data", "status": "passed", "start": 1716272642365, "stop": 1716272642365}], "start": 1716272642365, "stop": 1716272642550}
\ No newline at end of file
{"uuid": "f501e5e8-d869-4583-95db-e345225c5d5b", "befores": [{"name": "url", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647182}
\ No newline at end of file
{"uuid": "895051e0-ed51-4c18-aa0e-2e20bb7317d7", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599740}
\ No newline at end of file
{"uuid": "7d2f6bee-f4db-4aa1-adc3-889ac918542a", "befores": [{"name": "method", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599310}
\ No newline at end of file
{"uuid": "5c1b07dd-35f5-4f92-be04-4e2777a7d267", "befores": [{"name": "method", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599740}
\ No newline at end of file
{"uuid": "55fb07cb-04c6-4725-bc3f-02b1d9000b56", "befores": [{"name": "module_name", "status": "passed", "start": 1716272655684, "stop": 1716272655684}], "start": 1716272655684, "stop": 1716272655838}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "0ebcfa66-695f-4394-bd2a-ae39856c3caf-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "b1dcb8af-0503-40fc-addc-95dbd31061fc-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'组织加入用户'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'orgCode': 'test_add_org', 'accounts': 'admin'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '加入成功', 'value': ''}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272644756, "stop": 1716272644809, "uuid": "6a08f138-3af3-4851-8b40-0b3a2ace8c44", "historyId": "2d767e403ea75ccb1f14fcd976c25353", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "组织加入用户"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "585a3495-5f5b-47a2-b2ec-4fd1ff24eeac", "befores": [{"name": "case_level", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615157}
\ No newline at end of file
{"uuid": "c1a5732b-2a1b-4d53-8215-b82e35149580", "befores": [{"name": "url", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644951}
\ No newline at end of file
{"uuid": "5bae39ac-7529-433f-ac5f-f0c8dcfaa84c", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272642365, "stop": 1716272642365}], "start": 1716272642365, "stop": 1716272642549}
\ No newline at end of file
{"uuid": "3074bea0-24de-41e0-8d37-32652fdcd29a", "befores": [{"name": "method", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633538}
\ No newline at end of file
{"uuid": "0ed9b467-d95b-4f13-a694-cb7042121599", "befores": [{"name": "case_title", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632840}
\ No newline at end of file
{"uuid": "7b0d6025-d774-4870-a016-e026bf170a96", "befores": [{"name": "case_data", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615155}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803330313961472"}
\ No newline at end of file
{"uuid": "1c4cfc78-c4b4-43fe-b177-0268d61c29cd", "befores": [{"name": "module_name", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606227}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
\ No newline at end of file
{"uuid": "ca22649b-d7bf-4720-8396-81a9dee2e2d2", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602082}
\ No newline at end of file
{"uuid": "27a0e0f5-cc36-4afe-ac28-b62bd58593c4", "befores": [{"name": "api_name", "status": "passed", "start": 1716272655684, "stop": 1716272655684}], "start": 1716272655684, "stop": 1716272655838}
\ No newline at end of file
{"uuid": "c8f9f680-2ba7-4798-96d0-a944d9b03ca0", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599739}
\ No newline at end of file
{"uuid": "382bfaa6-8652-45f5-bceb-e02cbeea2bb8", "befores": [{"name": "case_title", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608305}
\ No newline at end of file
{"uuid": "e12fc571-6162-4934-ae1c-b223c706458f", "befores": [{"name": "case_data", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632838}
\ No newline at end of file
{"uuid": "003e348a-795e-492f-9f89-8af413e7e93e", "befores": [{"name": "case_title", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610538}
\ No newline at end of file
{"uuid": "66995f5b-ff0b-4e95-aaa6-ef7b38141ebd", "befores": [{"name": "case_level", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640351}
\ No newline at end of file
{"uuid": "32ccc90c-766b-4f70-b270-349f40a2e00c", "befores": [{"name": "case_level", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622090}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "bc3acc63-8a54-424f-81a9-90333648739d-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "fcf0e269-4266-4588-b63b-82148ec22cd8-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'保存组织参数'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'post'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case_data", "value": "{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}"}, {"name": "expect_data", "value": "{'state': True, 'message': '保存组织参数成功!', 'value': ''}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272644818, "stop": 1716272644873, "uuid": "1a247420-9d19-4e3a-8d64-cfd40d37c623", "historyId": "f523c6add46569d79b9a33cc763be891", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "保存组织参数"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "f30fcc8e-d327-4201-9cae-818c1562de14", "befores": [{"name": "module_name", "status": "passed", "start": 1716272619382, "stop": 1716272619382}], "start": 1716272619382, "stop": 1716272619577}
\ No newline at end of file
{"uuid": "0c560d5a-43eb-4711-9317-29f086428205", "befores": [{"name": "module_name", "status": "passed", "start": 1716272635750, "stop": 1716272635751}], "start": 1716272635750, "stop": 1716272635940}
\ No newline at end of file
{"uuid": "83399664-5cbc-44e0-86ff-877a536e99f5", "befores": [{"name": "url", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635938}
\ No newline at end of file
{"uuid": "d0fa569a-ad2d-4a5c-b59c-4ba7513c5a1c", "befores": [{"name": "api_name", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606227}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "b8419b7a-abb7-4191-8966-fb43f086596d-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "db394d98-cdaa-42a6-bd10-49adba7739a5-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'删除组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"}, {"name": "mime", "value": "'text/plain'"}, {"name": "case_data", "value": "'test_add_org'"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除组织成功!', 'value': ''}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272621920, "stop": 1716272621978, "uuid": "0915e949-e043-45d1-9ca3-6935cdc3d192", "historyId": "db26a6f22fbc123482ea90d3e77fa9fd", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "cbc9e70d-ff4e-4d08-b12b-eaa451a5fded", "befores": [{"name": "case_level", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626352}
\ No newline at end of file
{"uuid": "28072bd9-2002-4929-95ab-82b1327e5ffe", "befores": [{"name": "case_data", "status": "passed", "start": 1716272621795, "stop": 1716272621795}], "start": 1716272621795, "stop": 1716272621849}
\ No newline at end of file
{"uuid": "3c8852db-97dd-4c72-bd0c-1af4c3bbb4ea", "befores": [{"name": "mime", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653671}
\ No newline at end of file
{"uuid": "bc537dc9-fced-4e6b-ae6f-8b73efa7fe03", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644749}
\ No newline at end of file
{"uuid": "8b5807db-249a-4c82-8271-1f01070d604a", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598822}
\ No newline at end of file
{"uuid": "1077ac41-4b43-48d9-97b3-2256be3b1189", "befores": [{"name": "api_name", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628513}
\ No newline at end of file
{"uuid": "e5295bc7-54eb-4467-bea3-aec13d40da36", "befores": [{"name": "url", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645064}
\ No newline at end of file
{"uuid": "a4402991-19d3-4fbc-bff1-e53350791df5", "befores": [{"name": "case_level", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644751}
\ No newline at end of file
{"uuid": "654ca142-d61f-442c-b33b-93f28d6bc51c", "befores": [{"name": "update_key", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606223}
\ No newline at end of file
{"name": "反向用例-密码正确,用户名为特殊字符", "status": "passed", "attachments": [{"name": "log", "source": "bcc2e3b2-a522-4515-87b3-73e3ac8c7b3d-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "4fb9e02a-f4dd-4509-b0bf-c6e1ffb3332e-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-密码正确,用户名为特殊字符'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599527, "stop": 1716272599627, "uuid": "817d0d0b-74b8-4790-b30a-5b191bfb34b5", "historyId": "fa305c7b3d900250c6115572baa5540a", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "fe30cb30-283a-4756-bad3-66f16f9905d7-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272617174, "stop": 1716272617355, "uuid": "381f3194-e48e-497d-b373-b9ef2687c022", "historyId": "487ae598a2b30a5ea2489bb3e5fa08a4", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\n + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191B6B40>('message')\nE + where <built-in method get of dict object at 0x0000014F191B6B40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "d993550e-3284-4071-9240-5f178c323d76-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'GET'"}, {"name": "url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272606164, "stop": 1716272606215, "uuid": "f2e2b9d9-5e33-490f-abbc-6e66baca6bd7", "historyId": "1dcae5f805bddffd6ce19e14c8b3458b", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "e21840ec-210e-48b6-9c79-b99232b7984c", "befores": [{"name": "method", "status": "passed", "start": 1716272621598, "stop": 1716272621598}], "start": 1716272621598, "stop": 1716272621789}
\ No newline at end of file
{"uuid": "a2ba43f4-8407-4e73-88e9-9924e405a364", "befores": [{"name": "case_title", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599098}
\ No newline at end of file
{"uuid": "e4e2be24-bd50-411f-882f-e37d4133736d", "befores": [{"name": "case_data", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644749}
\ No newline at end of file
{"uuid": "5183bf3f-2fb8-4156-b251-64c159396825", "befores": [{"name": "url", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599411}
\ No newline at end of file
{"uuid": "d36729dc-c93f-41c1-9289-10e4bed07cc0", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599630}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "cd64653a-7ed6-4e1a-babb-437b8f0a2231", "befores": [{"name": "method", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644877}
\ No newline at end of file
{"uuid": "4ba1c4c4-31fb-49f0-81af-aab4c6d1453a", "befores": [{"name": "api_name", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621983}
\ No newline at end of file
{"uuid": "178ec5ca-bc0e-4f5b-a5e9-a11490339fa8", "befores": [{"name": "case_level", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619577}
\ No newline at end of file
{"uuid": "ccfa4553-7bef-4946-aa23-452a0037e1e8", "befores": [{"name": "case_data", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604154}
\ No newline at end of file
{"uuid": "66faac36-79fe-4200-8856-0bc8b260728d", "befores": [{"name": "update_key", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628508}
\ No newline at end of file
{"uuid": "b8349119-e1a9-43fb-b474-b85e42717670", "befores": [{"name": "module_name", "status": "passed", "start": 1716272651356, "stop": 1716272651356}], "start": 1716272651356, "stop": 1716272651504}
\ No newline at end of file
{"uuid": "e44ae17f-53e3-4eeb-bb1e-901d645dcf7f", "befores": [{"name": "module_name", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632841}
\ No newline at end of file
{"uuid": "ef992a95-c78f-40cf-ba61-f438f58a0166", "befores": [{"name": "method", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612949}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
\ No newline at end of file
{"uuid": "423cfde0-acd4-429a-bb37-f43d2d8b121b", "befores": [{"name": "method", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599207}
\ No newline at end of file
{"uuid": "e641d3dc-2e68-4113-8173-3de563a6e953", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272604095, "stop": 1716272604095}], "start": 1716272604095, "stop": 1716272604154}
\ No newline at end of file
{"uuid": "e817c012-e377-4407-afe6-81a21fee697f", "befores": [{"name": "mime", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606225}
\ No newline at end of file
{"uuid": "ab7849fb-32f3-4ced-9ce0-0e1f99141100", "befores": [{"name": "mime", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645063}
\ No newline at end of file
{"uuid": "b14b25ed-1117-4a8f-89a4-38a1c3380f63", "befores": [{"name": "module_name", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610324, "stop": 1716272610394}
\ No newline at end of file
{"uuid": "cd68733f-6d5c-480d-89a1-5c2a278e3bfd", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272621855, "stop": 1716272621856}], "start": 1716272621855, "stop": 1716272621913}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "05510126-4185-4429-ade2-1f1e848033c5-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272614968, "stop": 1716272615147, "uuid": "4acfa501-2cbd-4297-a954-977a5c0e666c", "historyId": "487ae598a2b30a5ea2489bb3e5fa08a4", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "21b0a644-b7ae-4c36-8076-079cc4044af7", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599103, "stop": 1716272599103}], "start": 1716272599103, "stop": 1716272599205}
\ No newline at end of file
{"uuid": "d8200888-f778-42ef-91d8-3bd7078edd9b", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598990}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "e62cc822-0620-41c7-8bb5-0b63878d429c-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272644557, "stop": 1716272644742, "uuid": "301a3d4e-adda-4839-a59e-f832c89915e5", "historyId": "526f1fd519b78b4955668d6cfd277048", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "595229c1-ac68-4893-abf7-26b78a3d7c16", "befores": [{"name": "method", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624196}
\ No newline at end of file
{"uuid": "197eefb6-d3c6-4cd9-a705-778473c2b5a7", "befores": [{"name": "api_name", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633540}
\ No newline at end of file
{"uuid": "e689a4f6-9881-4c85-bd24-61cb571737f6", "befores": [{"name": "module_name", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644752}
\ No newline at end of file
{"uuid": "58287a3d-2406-4e03-b0fd-eea8395c04fd", "befores": [{"name": "case_data", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619576}
\ No newline at end of file
{"uuid": "eaf8aee2-770f-413b-b3d4-0e24d3eade28", "befores": [{"name": "module_name", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630671}
\ No newline at end of file
{"uuid": "1b397646-ce33-49b8-aef8-a309fa27be53", "befores": [{"name": "case_data", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647181}
\ No newline at end of file
{"name": "反向用例-密码正确,用户名错误", "status": "passed", "attachments": [{"name": "log", "source": "210b12cf-948c-46d4-821a-7932288435ae-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "ff716806-b915-4865-a3fd-98f53bde6547-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-密码正确,用户名错误'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin123', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599640, "stop": 1716272599737, "uuid": "f77df4b9-85f7-4608-a188-2bf4343d4a14", "historyId": "83d67cdc5550a580709b5379b214757d", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "2b7f0238-0114-4875-bbd3-57c1aeac40e2", "befores": [{"name": "mime", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651501}
\ No newline at end of file
{"uuid": "8d6c6bdb-55bd-49b9-b997-4845d1779fb0", "befores": [{"name": "api_name", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604156}
\ No newline at end of file
{"uuid": "37f9f6a7-ad29-493c-8e02-c7afc5b8e0d9", "befores": [{"name": "api_name", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610394}
\ No newline at end of file
{"uuid": "14e3f9ba-33f6-4b1d-bb6a-49e33c7d59ac", "befores": [{"name": "url", "status": "passed", "start": 1716272642364, "stop": 1716272642365}], "start": 1716272642364, "stop": 1716272642550}
\ No newline at end of file
{"uuid": "9b3c025c-897f-4738-bed7-2353ca13f8e5", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619574}
\ No newline at end of file
{"uuid": "0426e7bb-5ce1-443f-bb21-ac398eb28df8", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624193}
\ No newline at end of file
{"uuid": "54b93657-eb8f-4029-acda-6823d7826df1", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610391}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332075569152"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332507582464"}
\ No newline at end of file
{"uuid": "5c241130-dce7-4d9a-87e2-6573f864bba4", "befores": [{"name": "case_data", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649336}
\ No newline at end of file
{"uuid": "0c1cac1d-56dd-4779-be63-d84cab44f7cb", "befores": [{"name": "update_key", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644748}
\ No newline at end of file
{"uuid": "5cf23044-d2f0-4677-b25f-ff622474a2ad", "befores": [{"name": "url", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632839}
\ No newline at end of file
{"uuid": "5da97f00-bdf6-490b-bbf7-3956e833e9d6", "befores": [{"name": "case_title", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622090}
\ No newline at end of file
{"uuid": "4368da7c-d47d-41dc-9437-b077e7a3ab24", "befores": [{"name": "method", "status": "passed", "start": 1716272599417, "stop": 1716272599418}], "start": 1716272599417, "stop": 1716272599522}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803560044380160"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803569104076800"}
\ No newline at end of file
{"uuid": "4e379f8e-f135-4535-a401-448b03983558", "befores": [{"name": "update_key", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632827}
\ No newline at end of file
{"uuid": "80766b16-93f2-4bd1-8621-f368a16cdc94", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645061}
\ No newline at end of file
{"uuid": "fb923434-d664-4867-af21-2498005e86e6", "befores": [{"name": "module_name", "status": "passed", "start": 1716272608242, "stop": 1716272608243}], "start": 1716272608242, "stop": 1716272608307}
\ No newline at end of file
{"uuid": "31d1db9d-6fd5-40d4-a433-81bea31b1b64", "befores": [{"name": "case_title", "status": "passed", "start": 1716272617172, "stop": 1716272617172}], "start": 1716272617172, "stop": 1716272617364}
\ No newline at end of file
{"uuid": "975cf4b0-4375-4670-97e7-ad34a04a1b93", "befores": [{"name": "case_data", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635937}
\ No newline at end of file
{"uuid": "41566d67-7ffb-4509-beed-b9a7a3ea3c93", "befores": [{"name": "case_level", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621851}
\ No newline at end of file
{"uuid": "c2fb2b6b-bc24-4c81-84d1-59578bde4abc", "befores": [{"name": "update_key", "status": "passed", "start": 1716272653522, "stop": 1716272653522}], "start": 1716272653522, "stop": 1716272653667}
\ No newline at end of file
{"uuid": "4f57e710-83cb-4ff5-8336-0780cdccbb06", "befores": [{"name": "case_data", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645063}
\ No newline at end of file
{"uuid": "642b7d09-554f-49f9-84dd-964c48065753", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598887}
\ No newline at end of file
{"uuid": "a1f95261-4f04-4816-8705-65be185cd2c4", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599310}
\ No newline at end of file
{"uuid": "39ab2baa-324f-4552-b8e0-30b16d2e1546", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599526, "stop": 1716272599526}], "start": 1716272599526, "stop": 1716272599634}
\ No newline at end of file
{"name": "反向用例-用户名正确,密码为特殊字符", "status": "passed", "attachments": [{"name": "log", "source": "26060cd5-287d-410f-ab2e-8814868b5d88-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "5955ba8e-11d9-4edb-aa40-14fd224d434f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-用户名正确,密码为特殊字符'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': '☯㍿卍卐'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599103, "stop": 1716272599203, "uuid": "f65700d8-3d1e-41a8-a793-c4ce8afbf632", "historyId": "45fbe766301d5f34f2314154dd48ad7c", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "db53b751-0d2a-4652-9a42-2dc65fad4bf1", "befores": [{"name": "url", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606225}
\ No newline at end of file
{"uuid": "e4b16d18-56a7-492c-bc8b-9d5761ebd47f", "befores": [{"name": "mime", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638147}
\ No newline at end of file
{"uuid": "50fccad0-08c9-416f-92b3-846e71ab3006", "befores": [{"name": "url", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602082}
\ No newline at end of file
{"uuid": "f58b7a46-28bf-43bf-a226-b0cf9835a726", "befores": [{"name": "module_name", "status": "passed", "start": 1716272617172, "stop": 1716272617172}], "start": 1716272617172, "stop": 1716272617365}
\ No newline at end of file
{"uuid": "bd5c757a-3c90-41ea-a63e-72cc2d42fa00", "befores": [{"name": "mime", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621982}
\ No newline at end of file
{"uuid": "82d16806-b5a8-42e7-97d4-81e889338395", "befores": [{"name": "mime", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610735}
\ No newline at end of file
{"uuid": "0e0b42f9-66af-4389-8e3e-e2f295c1c3e0", "befores": [{"name": "case_title", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621916}
\ No newline at end of file
{"uuid": "72351db0-2597-4a6b-82a9-cfe8b1140031", "befores": [{"name": "case_level", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633730}
\ No newline at end of file
{"uuid": "be7119ff-ac72-428f-9612-35e7103ad8fe", "befores": [{"name": "case_data", "status": "passed", "start": 1716272653522, "stop": 1716272653522}], "start": 1716272653520, "stop": 1716272653670}
\ No newline at end of file
{"uuid": "d067337f-82f8-49ca-942b-96627d92ccf0", "befores": [{"name": "update_key", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617361}
\ No newline at end of file
{"uuid": "c677cf0b-3b84-49a7-a199-cf77b2c06b47", "befores": [{"name": "url", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644877}
\ No newline at end of file
{"uuid": "aa6ef870-2ca1-44d8-be7a-7b866feb038b", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635937}
\ No newline at end of file
{"uuid": "31413685-a894-47ce-ab55-6eccfa3d541b", "befores": [{"name": "case_title", "status": "passed", "start": 1716272655684, "stop": 1716272655684}], "start": 1716272655684, "stop": 1716272655837}
\ No newline at end of file
{"uuid": "3708e63d-1549-442e-9e8b-1279a33eb902", "befores": [{"name": "case_level", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645065}
\ No newline at end of file
{"uuid": "2311c69f-83c9-44e0-a96a-6798f43e0801", "befores": [{"name": "update_key", "status": "passed", "start": 1716272610398, "stop": 1716272610398}], "start": 1716272610398, "stop": 1716272610534}
\ No newline at end of file
{"uuid": "6a1b5e3b-8922-4a5a-bc67-fd2b1f7be158", "befores": [{"name": "case_level", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633538}
\ No newline at end of file
{"uuid": "4a2d9e2c-d481-4eb7-8271-1c1be0b7f110", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599739}
\ No newline at end of file
{"uuid": "345d57b4-53bc-4ca5-a5cc-ce4c36e62b4a", "befores": [{"name": "method", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599096}
\ No newline at end of file
{"uuid": "e0bb7d67-8ffe-4431-a1da-494a11c6b487", "befores": [{"name": "url", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608304}
\ No newline at end of file
{"uuid": "3115a590-2081-4090-a8ad-dd0000829a20", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272610542, "stop": 1716272610542}], "start": 1716272610542, "stop": 1716272610733}
\ No newline at end of file
{"uuid": "96703d11-9387-4703-9792-99a45d1fd90c", "befores": [{"name": "mime", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635938}
\ No newline at end of file
{"uuid": "107db1e4-d45e-4db1-b8f3-9aa2920b0f4e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272630526, "stop": 1716272630526}], "start": 1716272630526, "stop": 1716272630667}
\ No newline at end of file
{"uuid": "a19ebe92-cb2d-4f4c-911f-0482a22b7e54", "befores": [{"name": "update_key", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651498}
\ No newline at end of file
{"uuid": "f5a35020-a7b5-4f17-a4cf-1cb87cab3fe7", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272630526, "stop": 1716272630526}], "start": 1716272630526, "stop": 1716272630668}
\ No newline at end of file
{"uuid": "779e6ee8-f8ab-433c-99b5-33e3a7a51358", "befores": [{"name": "method", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598992}
\ No newline at end of file
{"uuid": "ebca5792-a76f-4c68-829e-413fb9a4ab6f", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644749}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "91d7907c-e255-4493-98f9-72ed7b720ce3-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272637956, "stop": 1716272638139, "uuid": "f34de71f-c617-47af-a35d-71c3f084dd08", "historyId": "526f1fd519b78b4955668d6cfd277048", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "038029ab-1914-411a-adb3-1c9a043df212", "befores": [{"name": "api_name", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644812}
\ No newline at end of file
{"uuid": "de98d0b2-cb33-4029-87c5-0d2ee4947018", "befores": [{"name": "case_data", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610535}
\ No newline at end of file
{"uuid": "ad841ebd-3200-4f67-8c65-7ce9bd91faf5", "befores": [{"name": "module_name", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644954}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "207026aa-9909-4cbf-98c9-22cc531445cc-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803379156631552'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272632686, "stop": 1716272632817, "uuid": "0b751273-6918-4218-a296-0fb512c07b05", "historyId": "347d2f73ed73495ba7ba72dbf723f253", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "4eb8fc10-7c04-4d8e-a4c9-60a80d77a592", "befores": [{"name": "mime", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644951}
\ No newline at end of file
{"uuid": "d3552944-039e-4212-9e3b-487562a3b1ef", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599103, "stop": 1716272599103}], "start": 1716272599103, "stop": 1716272599205}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "4141671e-3bbe-434d-847a-8ed3780c884f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803475629817856'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272651358, "stop": 1716272651491, "uuid": "0c4ebf73-afc6-4ef9-8a2c-74c55cd751c9", "historyId": "f0f670cbfec7a9680aec241c756307a6", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "0a1a9b62-ec2f-4ffa-87d2-2574c2a1a12a", "befores": [{"name": "case_data", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640350}
\ No newline at end of file
{"uuid": "41d4d1bc-ebfd-4e31-b2e3-87e0324c6774", "befores": [{"name": "case_data", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598822}
\ No newline at end of file
{"uuid": "19ac99dd-f2bc-4cee-9a1d-e4fd700bb63c", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599314, "stop": 1716272599314}], "start": 1716272599314, "stop": 1716272599412}
\ No newline at end of file
{"uuid": "2b40c083-cabc-4e4f-adfb-e5adf758272f", "befores": [{"name": "case_title", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649338}
\ No newline at end of file
{"name": "添加维度-依赖登录", "status": "passed", "attachments": [{"name": "stdout", "source": "c76b71f1-72e8-4c61-b89a-9f691d8dbaa4-attachment.txt", "type": "text/plain"}], "start": 1716272632942, "stop": 1716272633094, "uuid": "b13de872-1e83-4039-bac4-c003649c8243", "historyId": "2c19ea97cbbe4cb31079c2ee05828120", "testCaseId": "2c19ea97cbbe4cb31079c2ee05828120", "fullName": "test_case.test_dependency.test_dependency#test_add_dem", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "epic", "value": "BPM-场景测试"}, {"name": "tag", "value": "dependency(depends=['test_login'])"}, {"name": "parentSuite", "value": "test_case.test_dependency"}, {"name": "suite", "value": "test_dependency"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_dependency.test_dependency"}]}
\ No newline at end of file
{"uuid": "c17589df-28c1-477d-865d-048632b54684", "befores": [{"name": "url", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600008}
\ No newline at end of file
{"uuid": "d4c589f1-1596-401e-9fcc-1ef1d151f894", "befores": [{"name": "method", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604155}
\ No newline at end of file
{"uuid": "6846daf8-3329-47e7-8ce9-1e3698fe50e7", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599519}
\ No newline at end of file
{"uuid": "f66ac96b-b5bf-4ee5-b751-7367acef0f33", "befores": [{"name": "update_key", "status": "passed", "start": 1716272614968, "stop": 1716272614968}], "start": 1716272614968, "stop": 1716272615154}
\ No newline at end of file
{"uuid": "fc2fb9af-f294-417d-baa4-9287c57c0465", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610391}
\ No newline at end of file
{"uuid": "52388996-c93e-4e4b-b59d-ae500009ee8d", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644875}
\ No newline at end of file
{"uuid": "b3e67c6a-8b57-464e-bcc8-4f45cb27e184", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610391}
\ No newline at end of file
{"uuid": "09f60a5d-3c60-4f22-ade0-3ea2ba1fec32", "befores": [{"name": "module_name", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604157}
\ No newline at end of file
{"uuid": "b92ae42a-5a60-4120-9199-da23455427a2", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599417, "stop": 1716272599417}], "start": 1716272599417, "stop": 1716272599523}
\ No newline at end of file
{"uuid": "b5fea50c-9851-45b4-a470-c1e8d21a463e", "befores": [{"name": "mime", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649337}
\ No newline at end of file
{"uuid": "0f13a881-8d30-469e-90cf-796564aac5f9", "befores": [{"name": "case_data", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617363}
\ No newline at end of file
{"uuid": "4466df56-666d-4b60-ae45-e378fc250eba", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599417, "stop": 1716272599417}], "start": 1716272599417, "stop": 1716272599522}
\ No newline at end of file
{"uuid": "d4d60d9f-642b-4dd2-b598-937b86e421a6", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598990}
\ No newline at end of file
{"uuid": "a88aa9a6-20b5-41e0-ba2e-81159a1961cf", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645062}
\ No newline at end of file
{"uuid": "bc240ab8-e43f-4d75-81b8-6355378fc7d3", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606223}
\ No newline at end of file
{"uuid": "1a0144fa-4300-4aa8-8a32-920a4e79af09", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647180}
\ No newline at end of file
{"uuid": "49098221-64f9-4c29-be3a-224c043dfd9d", "befores": [{"name": "api_name", "status": "passed", "start": 1716272621598, "stop": 1716272621598}], "start": 1716272621598, "stop": 1716272621791}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803331177988096"}
\ No newline at end of file
{"uuid": "c192d36b-68e3-4a87-a04b-7f18e9589763", "befores": [{"name": "url", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610735}
\ No newline at end of file
{"uuid": "5fb162f3-74f8-4a2f-9ac7-6ca2cc6a54f7", "befores": [{"name": "case_data", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626350}
\ No newline at end of file
{"uuid": "ab6e2307-c7b9-42d7-ade2-f9b9b522747a", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600008}
\ No newline at end of file
{"uuid": "65fe9779-6c66-4b6c-8eb2-2ec9c65c534f", "befores": [{"name": "case_title", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633732}
\ No newline at end of file
{"uuid": "b151b397-1cf6-4623-9770-dffb0fb9cdf9", "befores": [{"name": "update_key", "status": "passed", "start": 1716272621856, "stop": 1716272621856}], "start": 1716272621856, "stop": 1716272621912}
\ No newline at end of file
{"uuid": "3d7e74d1-7566-4cb7-8824-c68f126ea272", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598991}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\n + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19157400>('message')\nE + where <built-in method get of dict object at 0x0000014F19157400> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "3d13a08f-69e0-411e-b723-af91e303d5f3-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'GET'"}, {"name": "url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272604095, "stop": 1716272604145, "uuid": "b0499f8b-a6d3-4f48-8305-789adf041ea8", "historyId": "1dcae5f805bddffd6ce19e14c8b3458b", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "3e6f45c9-c644-40ff-87a3-c1d7d9f45a11", "befores": [{"name": "case_title", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647183}
\ No newline at end of file
{"uuid": "0bfde6fe-5198-49ef-858d-06e8d32e2863", "befores": [{"name": "case_data", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621914}
\ No newline at end of file
{"uuid": "39ddefed-a017-4c0c-ac37-328430736872", "befores": [{"name": "method", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598888}
\ No newline at end of file
{"uuid": "063e11d5-ef8f-4fe1-af6e-ff548f5fb6b0", "befores": [{"name": "case_data", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633537}
\ No newline at end of file
{"uuid": "e8fe2978-1e40-414a-905b-763f199707ba", "befores": [{"name": "case_title", "status": "passed", "start": 1716272644816, "stop": 1716272644816}], "start": 1716272644816, "stop": 1716272644877}
\ No newline at end of file
{"uuid": "c5a95bdd-e796-4de1-a376-cd7d733475b9", "befores": [{"name": "url", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599206}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
\ No newline at end of file
{"uuid": "e9c5314f-6edd-46ac-a492-19a21d1952be", "befores": [{"name": "case_level", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644812}
\ No newline at end of file
{"uuid": "2ce74f30-2bfd-4bb1-bf0b-1bae3ae998af", "befores": [{"name": "url", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598823}
\ No newline at end of file
{"uuid": "8b5f4d40-12b8-4847-a620-980f05dc4087", "befores": [{"name": "method", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621982}
\ No newline at end of file
{"uuid": "1180f47f-03b7-431c-83bb-f52e115d93c4", "befores": [{"name": "module_name", "status": "passed", "start": 1716272647080, "stop": 1716272647080}], "start": 1716272647080, "stop": 1716272647184}
\ No newline at end of file
{"uuid": "f3ea9e89-0238-4b33-89ee-e63a25c30b65", "befores": [{"name": "case_title", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610736}
\ No newline at end of file
{"uuid": "bcd19cfb-6f86-4edd-b048-d0d670e6a71d", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649336}
\ No newline at end of file
{"uuid": "81edbe95-51af-4c30-9c40-208c6816c1bd", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272598998, "stop": 1716272598998}], "start": 1716272598998, "stop": 1716272599093}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "0ed32c3a-71a9-464b-9d1c-89acbbf9a760-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "6884eebd-a67c-487e-97b8-3d848f96ebef-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'组织加入用户'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'orgCode': 'test_add_org', 'accounts': 'admin'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '加入成功', 'value': ''}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272621795, "stop": 1716272621848, "uuid": "777d31fa-9e70-42f8-88ba-22c7c65a88c7", "historyId": "385bda31fe152e15cd1fc6b7817225aa", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "组织加入用户"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "e6c0878e-3bf4-4375-86dc-520b2f4a38b1", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619574}
\ No newline at end of file
{"uuid": "bbc02eb7-05fa-4e18-b3d0-a7095151eb20", "befores": [{"name": "api_name", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598993}
\ No newline at end of file
{"uuid": "4a97f53c-6bb1-4a83-a4ea-06b775525ff7", "befores": [{"name": "url", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598888}
\ No newline at end of file
{"uuid": "a5f44804-0097-4ae2-b8d1-3c0ef8d706dd", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649335}
\ No newline at end of file
{"uuid": "434f825c-ce7e-4325-86be-1971c3338e3e", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272653522, "stop": 1716272653522}], "start": 1716272653522, "stop": 1716272653669}
\ No newline at end of file
{"uuid": "55164136-cdab-451a-931d-b3a68f4eee2c", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655825}
\ No newline at end of file
{"uuid": "c680498f-c375-45f1-ad7a-a4090b8acb45", "befores": [{"name": "case_title", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615157}
\ No newline at end of file
{"uuid": "230f49ea-f5e1-4134-a020-3dd07d980e6f", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272637955, "stop": 1716272637956}], "start": 1716272637955, "stop": 1716272638146}
\ No newline at end of file
{"uuid": "52e11053-fab6-4b4d-bb80-50f335050008", "befores": [{"name": "update_key", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624193}
\ No newline at end of file
{"uuid": "ef393156-4ca5-4d34-96b9-65edd0520e0c", "befores": [{"name": "mime", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628511}
\ No newline at end of file
{"uuid": "faf1462c-a2dc-4edf-9802-2749e39187bc", "befores": [{"name": "case_data", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651501}
\ No newline at end of file
{"uuid": "87e61d6d-7d53-446c-8d16-2f5ec5da2356", "befores": [{"name": "case_title", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619577}
\ No newline at end of file
{"uuid": "dbcb8b50-7e43-42d6-a66c-4db1ebf6f970", "befores": [{"name": "module_name", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599099}
\ No newline at end of file
{"uuid": "442584cb-8258-4108-b262-a0f1494c648e", "befores": [{"name": "case_title", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604156}
\ No newline at end of file
{"uuid": "915b1e40-9473-4bab-96e8-6c0977b786d9", "befores": [{"name": "mime", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619576}
\ No newline at end of file
{"uuid": "af499a0a-c8af-4e30-a629-d1ecd9c7dbee", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644874}
\ No newline at end of file
{"uuid": "6fb2a2be-0138-4c54-8358-8b96276b98b1", "befores": [{"name": "mime", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608304}
\ No newline at end of file
{"uuid": "a5eba656-4867-42e9-b946-ab43199a1909", "befores": [{"name": "url", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626351}
\ No newline at end of file
{"uuid": "24e46087-f153-468a-88b8-16374e55bbec", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272610542, "stop": 1716272610542}], "start": 1716272610542, "stop": 1716272610733}
\ No newline at end of file
{"uuid": "be9bc24b-0acd-46c6-8e43-dcfd9bef9c35", "befores": [{"name": "update_key", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649334}
\ No newline at end of file
{"uuid": "eef6df20-b6e5-4cd1-b243-2d2f641a8fb6", "befores": [{"name": "case_level", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647183}
\ No newline at end of file
{"uuid": "edb01ef1-87ce-4b79-94a2-ba18f5355b20", "befores": [{"name": "update_key", "status": "passed", "start": 1716272633397, "stop": 1716272633397}], "start": 1716272633397, "stop": 1716272633536}
\ No newline at end of file
{"uuid": "5cd32568-6c17-46d3-8994-a70baf9197dc", "befores": [{"name": "case_data", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638147}
\ No newline at end of file
{"uuid": "2b5753b9-5a1b-4504-b8df-d70b58e28d62", "befores": [{"name": "case_level", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598824}
\ No newline at end of file
{"uuid": "227e9154-fe3c-421b-b94b-47a652afb756", "befores": [{"name": "case_level", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630670}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTcsImlhdCI6MTcxNjI3MjU5N30.sY4lvg3FdRhPw7aTY0jx3ZeN03MQbTx1bARhQIZP2H41KaUr83P2Q4MTt-AKuPxQxYsVlEOH9rPkM0X7HhxEJA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "26469d65-54bd-4500-b94c-b4ecb462d9be", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599314, "stop": 1716272599314}], "start": 1716272599314, "stop": 1716272599413}
\ No newline at end of file
{"uuid": "f7fed399-0df7-45b9-b542-eea5d72cf9fe", "befores": [{"name": "api_name", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635940}
\ No newline at end of file
{"uuid": "7d9c67f8-e08b-466c-a6c1-15034b6614f8", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272653522, "stop": 1716272653522}], "start": 1716272653522, "stop": 1716272653669}
\ No newline at end of file
{"uuid": "b2fba8ce-9a42-4932-bb7d-063cc02fb954", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638147}
\ No newline at end of file
{"uuid": "559d2457-8c82-436d-bb72-0d4ea6f490c9", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617362}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803463587971072"}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "6ac5eeb5-3b5a-470a-bdc0-663ff0bc7852-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803379156631552'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272628366, "stop": 1716272628501, "uuid": "b4b9152f-73b8-4913-9126-db6371e9884e", "historyId": "347d2f73ed73495ba7ba72dbf723f253", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "df65ef9e-f7e7-43a3-9d7c-8d6f2ae0ad0d", "befores": [{"name": "case_data", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608304}
\ No newline at end of file
{"uuid": "6913f9de-1ef0-4e22-a6c5-431a7dd044d6", "befores": [{"name": "method", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606225}
\ No newline at end of file
{"uuid": "e305cbbf-d6ca-4c32-b7ef-15c0caff8ce2", "befores": [{"name": "url", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624194}
\ No newline at end of file
{"uuid": "2519b66b-f9a4-45b7-a90c-7b2fed37fda0", "befores": [{"name": "case_title", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606226}
\ No newline at end of file
{"uuid": "e3c2a1f5-19ac-46ca-95f2-22085f666eb9", "befores": [{"name": "mime", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598823}
\ No newline at end of file
{"uuid": "3f3039e3-b119-4345-b93e-8ee359939914", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272653522, "stop": 1716272653522}], "start": 1716272653522, "stop": 1716272653669}
\ No newline at end of file
{"uuid": "fc6059c9-119a-424a-aed0-fc7afe37e461", "befores": [{"name": "mime", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644749}
\ No newline at end of file
{"uuid": "40bb4d65-0a49-4594-bd95-30b28511bf0b", "befores": [{"name": "method", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649337}
\ No newline at end of file
{"uuid": "b20b3a64-ca59-41c7-ac88-2996ed736574", "befores": [{"name": "case_title", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644953}
\ No newline at end of file
{"uuid": "ad6b849c-d237-4c9f-84bb-bf0873d77a59", "befores": [{"name": "module_name", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615157}
\ No newline at end of file
{"uuid": "6fbaaf90-7f63-4131-9590-4f5311107280", "befores": [{"name": "method", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644812}
\ No newline at end of file
{"uuid": "aa8a0114-759b-4654-80bf-6690f7e16dcf", "befores": [{"name": "case_title", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621983}
\ No newline at end of file
{"uuid": "9c4afe48-ce64-4a8c-be10-da3799297299", "befores": [{"name": "method", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651502}
\ No newline at end of file
{"uuid": "8e993414-e390-4730-952f-a6961decefc0", "befores": [{"name": "method", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628512}
\ No newline at end of file
{"uuid": "c6bed11c-a3f3-4acf-a02f-0d909ac45c55", "befores": [{"name": "method", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635938}
\ No newline at end of file
{"uuid": "83063096-35e6-471e-964b-b4ca56afa4b6", "befores": [{"name": "url", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649337}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
\ No newline at end of file
{"uuid": "4e84d084-fc0c-4a79-af71-dafffa54883a", "befores": [{"name": "case_level", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617172, "stop": 1716272617364}
\ No newline at end of file
{"uuid": "bcf0fda5-8ef7-49b2-bbd7-cf755f896a00", "befores": [{"name": "method", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647182}
\ No newline at end of file
{"uuid": "8344fd6f-e507-4bcd-8071-8a5baf73d0a1", "befores": [{"name": "api_name", "status": "passed", "start": 1716272644816, "stop": 1716272644816}], "start": 1716272644816, "stop": 1716272644879}
\ No newline at end of file
{"uuid": "3176db72-fad5-4430-a9e4-4971cab85243", "befores": [{"name": "mime", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598888}
\ No newline at end of file
{"uuid": "ede11eb1-294f-4a08-a9ca-61db51f3c2f7", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272599755, "stop": 1716272599755}], "start": 1716272599755, "stop": 1716272600007}
\ No newline at end of file
{"uuid": "4cef4824-a3a8-4b3c-87f4-76f122019eef", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599518}
\ No newline at end of file
{"uuid": "6ae2b227-c7a7-43b7-98d0-0d4450fc718a", "befores": [{"name": "mime", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621850}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\n + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19157380>('message')\nE + where <built-in method get of dict object at 0x0000014F19157380> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "1c641071-d8b1-4df1-87d7-8ac3fad1dbd6-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'GET'"}, {"name": "url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272608243, "stop": 1716272608294, "uuid": "a7d96320-6ab1-4b55-970b-ff86b059ac87", "historyId": "1dcae5f805bddffd6ce19e14c8b3458b", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "0f8f71da-f487-4f7e-a02e-6dc83f9b6988", "befores": [{"name": "method", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610393}
\ No newline at end of file
{"uuid": "33f5bef3-a7d9-49a1-a035-abab359f9c46", "befores": [{"name": "case_data", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621788}
\ No newline at end of file
{"uuid": "4a0749f6-b039-415c-85a6-e315c9cf446a", "befores": [{"name": "url", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621982}
\ No newline at end of file
{"uuid": "f51b9aba-2190-4da3-b51c-cb41389bfa8b", "befores": [{"name": "case_level", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610536}
\ No newline at end of file
{"uuid": "f702e8d6-8dac-4a6c-98f9-f0cee5fb4e5a", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272642365, "stop": 1716272642365}], "start": 1716272642365, "stop": 1716272642549}
\ No newline at end of file
{"uuid": "53a472fc-a674-4c09-9937-10d01ee6b016", "befores": [{"name": "method", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621850}
\ No newline at end of file
{"uuid": "473bc97a-309d-4944-870c-9de8bbf53881", "befores": [{"name": "case_data", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644875}
\ No newline at end of file
{"uuid": "a08aea46-9aa5-4b27-98ae-4af0d053ca9e", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606224}
\ No newline at end of file
{"uuid": "d603743e-1d6e-4bb2-9103-a198afc3daa3", "befores": [{"name": "case_level", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610393}
\ No newline at end of file
{"uuid": "cf6f8089-5d9e-465a-a7e6-e6a56199083b", "befores": [{"name": "case_title", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638149}
\ No newline at end of file
{"uuid": "c637b839-0174-455b-8541-6c11d47812d0", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599309}
\ No newline at end of file
{"uuid": "248fe819-e881-42cd-a55d-ce31bafa132d", "befores": [{"name": "method", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621915}
\ No newline at end of file
{"uuid": "e6b8fae7-dc4a-4ce8-bb59-8d899b6dbf37", "befores": [{"name": "update_key", "status": "passed", "start": 1716272630526, "stop": 1716272630526}], "start": 1716272630526, "stop": 1716272630667}
\ No newline at end of file
{"uuid": "e7bb0cb7-41aa-48c4-9c2f-b46b17164059", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599307}
\ No newline at end of file
{"uuid": "51f5ec3d-359a-4e68-b3f5-596b68524ad9", "befores": [{"name": "api_name", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622090}
\ No newline at end of file
{"uuid": "bd6cdc29-fba4-4745-80f3-f438ab96f07a", "befores": [{"name": "api_name", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598889}
\ No newline at end of file
{"uuid": "c95dd28a-a230-435a-8c51-8dfbef5d9f2e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272614968, "stop": 1716272614968}], "start": 1716272614968, "stop": 1716272615154}
\ No newline at end of file
{"uuid": "23e8df7d-c852-4971-bd4c-4955d136098f", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599755, "stop": 1716272599755}], "start": 1716272599755, "stop": 1716272600007}
\ No newline at end of file
{"uuid": "24101ad2-f3e4-4715-94d5-cb96eed28b68", "befores": [{"name": "case_level", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644952}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "8047f95d-351d-4a7a-8b9e-f46491a4a819-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803475629817856'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272647081, "stop": 1716272647173, "uuid": "45af3120-fde3-4ed9-942c-cf7d621b2682", "historyId": "f0f670cbfec7a9680aec241c756307a6", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "47816e5f-764d-42fe-bb52-2efff0a9b197", "befores": [{"name": "case_level", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628512}
\ No newline at end of file
{"uuid": "8b291b1e-acf7-46c6-ba32-f31d55c2e3bf", "befores": [{"name": "mime", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600008}
\ No newline at end of file
{"uuid": "912df5a5-cdf2-4d24-98ff-98dc568c2ae2", "befores": [{"name": "method", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653671}
\ No newline at end of file
{"uuid": "6db0633c-ffa3-43f3-9f31-ec39eca07118", "befores": [{"name": "api_name", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653674}
\ No newline at end of file
{"uuid": "f26d7291-11bc-43d9-ae37-77c32482091f", "befores": [{"name": "mime", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599739}
\ No newline at end of file
{"uuid": "561d357a-de11-4412-8792-53646e055758", "befores": [{"name": "mime", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615156}
\ No newline at end of file
{"uuid": "c678ffab-0c3c-4270-9344-fee8962de8dd", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599519}
\ No newline at end of file
{"uuid": "6c072958-361a-4942-9faa-78f58534ac0b", "befores": [{"name": "case_title", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645065}
\ No newline at end of file
{"uuid": "0d3cb81f-4464-4bfe-b6c8-083c3a397c1d", "befores": [{"name": "url", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655836}
\ No newline at end of file
{"uuid": "42349147-8fd1-449d-93c9-171f6e2bd7f0", "befores": [{"name": "case_title", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651503}
\ No newline at end of file
{"uuid": "01aa6c82-8f63-4993-a558-f030feace7bd", "befores": [{"name": "mime", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640350}
\ No newline at end of file
{"uuid": "b90a6c45-9558-4361-966c-b45813924f4b", "befores": [{"name": "url", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622088}
\ No newline at end of file
{"name": "反向用例-密码正确,用户名过短", "status": "passed", "attachments": [{"name": "log", "source": "bc27cb32-c3e4-458d-b4c4-9ba7f5053749-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "b02f83e9-08b2-49f4-897d-5035b2fd60eb-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-密码正确,用户名过短'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'a', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599418, "stop": 1716272599517, "uuid": "1724f79b-d0fd-4a26-9d86-b2ceaa7088b2", "historyId": "1a3971dd942170d7f7bcf2c1f2eecd8f", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "7820a67a-65a5-4210-bfbf-231cc9a2b319", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599633}
\ No newline at end of file
{"uuid": "608cae86-d548-4de7-a77e-70dc6e8be8aa", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272621987, "stop": 1716272621987}], "start": 1716272621987, "stop": 1716272622087}
\ No newline at end of file
{"uuid": "f4eb8564-bb90-4a72-b233-6165a61f30ee", "befores": [{"name": "case_level", "status": "passed", "start": 1716272621598, "stop": 1716272621598}], "start": 1716272621598, "stop": 1716272621789}
\ No newline at end of file
{"uuid": "6b109ab6-2eab-4ff0-a198-c52b22439a99", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272598998, "stop": 1716272598998}], "start": 1716272598998, "stop": 1716272599094}
\ No newline at end of file
{"uuid": "2a4449d8-af09-44c7-8ea8-21a97a4dc68b", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599206}
\ No newline at end of file
{"uuid": "2d4fbb94-08f4-404a-86e1-046115786de5", "befores": [{"name": "api_name", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626352}
\ No newline at end of file
{"uuid": "beeb3e79-b784-40a5-808a-be6da89f7b12", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624194}
\ No newline at end of file
{"uuid": "2ac929cf-0d6a-41d8-9261-6554a1a93d36", "befores": [{"name": "case_data", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655835}
\ No newline at end of file
{"uuid": "6c1ba28d-47f1-4268-bcfe-8c9a147ddc0d", "befores": [{"name": "case_level", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598992}
\ No newline at end of file
{"uuid": "ad63c810-15ef-416a-bb4f-96783a8a78f8", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633729}
\ No newline at end of file
{"uuid": "de33ac9e-b9a6-4834-90f8-d7296ec9cb20", "befores": [{"name": "case_data", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628511}
\ No newline at end of file
{"uuid": "fe35cec1-e69c-4101-8445-0f5b60a14932", "befores": [{"name": "update_key", "status": "passed", "start": 1716272610542, "stop": 1716272610542}], "start": 1716272610542, "stop": 1716272610732}
\ No newline at end of file
{"uuid": "48a22310-46a0-4e81-9553-5f559f52f364", "befores": [{"name": "api_name", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651503}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "83a73288-205f-4b13-97cb-b8a7c87e0da2", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612939}
\ No newline at end of file
{"uuid": "bda15e9f-cca8-47fa-a461-9b525c672c18", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621788}
\ No newline at end of file
{"uuid": "d430e361-38f2-4cf2-98b8-33ed42a8a2e0", "befores": [{"name": "case_title", "status": "passed", "start": 1716272642364, "stop": 1716272642364}], "start": 1716272642364, "stop": 1716272642551}
\ No newline at end of file
{"uuid": "b9b1ed66-1b22-4058-be1d-0b4a0fe15b8a", "befores": [{"name": "module_name", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628513}
\ No newline at end of file
{"uuid": "14599b8c-a6f1-476f-a18c-9a82ff36fd92", "befores": [{"name": "url", "status": "passed", "start": 1716272604094, "stop": 1716272604094}], "start": 1716272604094, "stop": 1716272604155}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\n + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F19124300>('message')\nE + where <built-in method get of dict object at 0x0000014F19124300> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "f6710333-f328-4e0d-922b-95e852462df9-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'GET'"}, {"name": "url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599755, "stop": 1716272599845, "uuid": "b34ab8ef-a9f7-49f6-a2f8-0c36533f0b0b", "historyId": "1dcae5f805bddffd6ce19e14c8b3458b", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "7e8059fb-fc93-40ca-bb0d-221dd75d5ac1", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599755, "stop": 1716272599755}], "start": 1716272599755, "stop": 1716272600007}
\ No newline at end of file
{"uuid": "b943a483-d99a-4eb9-b999-39b086054d2a", "befores": [{"name": "url", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610536}
\ No newline at end of file
{"uuid": "d109c2f2-94a3-4ac5-b911-4b647c61c2c9", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272610542, "stop": 1716272610542}], "start": 1716272610542, "stop": 1716272610734}
\ No newline at end of file
{"uuid": "9cdf554d-5455-412a-a376-b098f8250453", "befores": [{"name": "api_name", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602084}
\ No newline at end of file
{"uuid": "35cdd062-e490-45d1-bd5a-939ea82c7bac", "befores": [{"name": "method", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644750}
\ No newline at end of file
{"uuid": "4b07a220-4c64-4678-b5ed-b81a0b8f95c0", "befores": [{"name": "url", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599096}
\ No newline at end of file
{"uuid": "d767e6d2-6241-46e6-b207-dcea07133452", "befores": [{"name": "case_title", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598824}
\ No newline at end of file
{"uuid": "87d8fbcf-4af7-42b2-8732-acc6731e7488", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621787}
\ No newline at end of file
{"uuid": "917a53b7-d568-47a9-ab66-d110efb44228", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633537}
\ No newline at end of file
{"uuid": "ec396beb-e065-45de-8ce7-e8fd59aa9c88", "befores": [{"name": "method", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599412}
\ No newline at end of file
{"uuid": "03cb4f4b-ff60-4cd6-a725-0c89cc38aa73", "befores": [{"name": "url", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644812}
\ No newline at end of file
{"uuid": "d4a74fa2-6d18-43c6-9d02-e6badc85d332", "befores": [{"name": "case_title", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612951}
\ No newline at end of file
{"uuid": "497bf6aa-965c-49f6-b794-07e9ddd315df", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598887}
\ No newline at end of file
{"uuid": "5b2057e8-6bd6-4e79-bea1-d8ade0f2b5c9", "befores": [{"name": "case_level", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612949}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "8ce088ac-6efc-4f7d-b0a0-3cbe1442ebff", "befores": [{"name": "update_key", "status": "passed", "start": 1716272598998, "stop": 1716272598998}], "start": 1716272598998, "stop": 1716272599093}
\ No newline at end of file
{"uuid": "e2c565c4-bb65-4c1c-9fc6-666acc26a01a", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272598748, "stop": 1716272598748}], "start": 1716272598748, "stop": 1716272598812}
\ No newline at end of file
{"uuid": "ddacad00-d73a-4205-8600-2deab56b59a8", "befores": [{"name": "case_data", "status": "passed", "start": 1716272606163, "stop": 1716272606163}], "start": 1716272606163, "stop": 1716272606225}
\ No newline at end of file
{"uuid": "6e91dabd-86a4-4279-a9fc-897bbac75167", "befores": [{"name": "api_name", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619577}
\ No newline at end of file
{"name": "test用例函数-依赖登录成功和添加维度成功", "status": "passed", "attachments": [{"name": "stdout", "source": "3f507870-023d-4574-bb9f-ac551fe2c56d-attachment.txt", "type": "text/plain"}], "start": 1716272633097, "stop": 1716272633098, "uuid": "c8330828-746b-4786-b66f-7407a84ed843", "historyId": "112831bd8b103ba5270ea46bde2822af", "testCaseId": "112831bd8b103ba5270ea46bde2822af", "fullName": "test_case.test_dependency.test_dependency#test1", "labels": [{"name": "story", "value": "test"}, {"name": "feature", "value": "test"}, {"name": "epic", "value": "BPM-场景测试"}, {"name": "tag", "value": "dependency(depends=['test_add_dem', 'test_login'])"}, {"name": "parentSuite", "value": "test_case.test_dependency"}, {"name": "suite", "value": "test_dependency"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_dependency.test_dependency"}]}
\ No newline at end of file
{"uuid": "676e5ddf-33ab-43e0-adf4-0744366fb220", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599410}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "06b7ab20-aa5d-489e-ae13-0a082a4ad043-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272635752, "stop": 1716272635930, "uuid": "8da1278d-2136-4d8f-b212-edbf7e6e7319", "historyId": "526f1fd519b78b4955668d6cfd277048", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "b494d3d9-a780-4b0e-b765-96f52bc54ba6", "befores": [{"name": "case_data", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630669}
\ No newline at end of file
{"uuid": "79f9d5e0-b0e9-4aac-b10e-6ad35edf6e69", "befores": [{"name": "mime", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622088}
\ No newline at end of file
{"uuid": "0e414d24-84af-4a8b-a110-13e461a46d36", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272614968, "stop": 1716272614968}], "start": 1716272614968, "stop": 1716272615155}
\ No newline at end of file
{"uuid": "acafeb99-bf97-4f64-bbf3-d1c2c1b035a7", "befores": [{"name": "update_key", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626348}
\ No newline at end of file
{"uuid": "23f2ab88-d8f9-49e3-8e8d-78c8b20497da", "befores": [{"name": "case_level", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653672}
\ No newline at end of file
{"uuid": "1348a45f-911c-4fda-bb13-84e80525b1e6", "befores": [{"name": "mime", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602082}
\ No newline at end of file
{"uuid": "e8ba7ce5-d640-4c82-aceb-9c3c3219bdec", "befores": [{"name": "module_name", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610736}
\ No newline at end of file
{"uuid": "eb7edddf-d376-42f0-81c4-af96bf4bdda8", "befores": [{"name": "api_name", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610538}
\ No newline at end of file
{"uuid": "285d2d8a-a65e-4ef2-983c-438feb756ec8", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599103, "stop": 1716272599103}], "start": 1716272599103, "stop": 1716272599204}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
{"uuid": "8b962214-53e0-4b5f-84e3-a67b7e8d8ad9", "befores": [{"name": "case_title", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621851}
\ No newline at end of file
{"uuid": "1399b5db-0077-4415-a292-9ae44af739b0", "befores": [{"name": "update_key", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635936}
\ No newline at end of file
{"uuid": "b119c779-325d-497a-82ca-9b61d752cf44", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600010}
\ No newline at end of file
{"name": "反向用例-用户名正确,密码过短", "status": "passed", "attachments": [{"name": "log", "source": "64e2a74f-d693-4476-b5d6-d4aec697e75f-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "fc9b3bae-d15e-4686-a396-4bc5a82f4a25-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-用户名正确,密码过短'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'm'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272598998, "stop": 1716272599093, "uuid": "d70bed7d-bd04-4f16-ac9b-5738ec3bc976", "historyId": "f5ad8b2871fbe9131e812a7e7fd4507e", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "519c7689-7000-47ea-9e35-765a21ef19e0", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272621987, "stop": 1716272621987}], "start": 1716272621987, "stop": 1716272622088}
\ No newline at end of file
{"uuid": "484df2ba-83f7-4659-9ada-17f018476c1a", "befores": [{"name": "api_name", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649339}
\ No newline at end of file
{"uuid": "c41d337f-3a76-4031-a782-f5f86b28eed4", "befores": [{"name": "api_name", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621917}
\ No newline at end of file
{"uuid": "5961ba2c-1d58-4d4e-983e-bf4b5f3f64d0", "befores": [{"name": "update_key", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647179}
\ No newline at end of file
{"uuid": "90869bc4-85ce-428b-9633-bae75355f495", "befores": [{"name": "case_level", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638149}
\ No newline at end of file
{"uuid": "0c22bb46-51bb-4f2e-9b64-103a63139077", "befores": [{"name": "case_level", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635940}
\ No newline at end of file
{"uuid": "76f72148-c808-4095-9ed7-d5a9eec7d1eb", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621980}
\ No newline at end of file
{"uuid": "23ac2f75-06ea-4f5b-ba50-281e30a58949", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608303}
\ No newline at end of file
{"uuid": "10bca374-e9dd-445c-aa36-bdae2e6c0026", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599755, "stop": 1716272599755}], "start": 1716272599755, "stop": 1716272600006}
\ No newline at end of file
{"uuid": "2ce24935-e578-4b9c-977a-5f7793f0c847", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599739}
\ No newline at end of file
{"uuid": "c1aaa079-ef5a-48dc-8a2f-f83ac183d7ef", "befores": [{"name": "module_name", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612951}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "d09fd688-af1e-4321-8100-e93cccbae6bd-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803475629817856'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272653523, "stop": 1716272653661, "uuid": "5b558a67-19fb-42da-8fdc-d7f0cede5c83", "historyId": "f0f670cbfec7a9680aec241c756307a6", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"name": "反向用例-密码正确,用户名过长", "status": "passed", "attachments": [{"name": "log", "source": "4bee1565-ae76-4818-a667-087d24c27356-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "c66d15bc-24e7-486d-ae88-8e801cb5bf6e-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-密码正确,用户名过长'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272599315, "stop": 1716272599407, "uuid": "9883f12e-5bed-46f3-90cb-4651c0b34b3d", "historyId": "968bf5f1bc5266807075e84dfd49d322", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "1d472972-fe17-4e5f-b75f-52c9fecb183c", "befores": [{"name": "update_key", "status": "passed", "start": 1716272621795, "stop": 1716272621795}], "start": 1716272621795, "stop": 1716272621848}
\ No newline at end of file
{"uuid": "c2de4163-c43e-4a0f-84c9-3e05b057882f", "befores": [{"name": "url", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628512}
\ No newline at end of file
{"uuid": "1605b0b6-7c26-4ec3-b327-e61fc9990ffa", "befores": [{"name": "mime", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624194}
\ No newline at end of file
{"uuid": "710bc5df-1505-4d69-81ef-03e750bc00ad", "befores": [{"name": "case_title", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602083}
\ No newline at end of file
{"uuid": "4365b4c3-f831-4714-b98d-51140c3b755e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649335}
\ No newline at end of file
{"uuid": "8fdb094f-cba2-4cff-bc48-a1301c75bee9", "befores": [{"name": "case_data", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610734}
\ No newline at end of file
{"uuid": "28991240-2e0d-4450-bebc-0d0dd8a83b79", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599738}
\ No newline at end of file
{"uuid": "01500b2c-5f66-4bce-9aa8-2625d833e47c", "befores": [{"name": "update_key", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598886}
\ No newline at end of file
{"uuid": "5d2fc7a8-a503-434c-839c-e9944a8ec5b9", "befores": [{"name": "case_level", "status": "passed", "start": 1716272655684, "stop": 1716272655684}], "start": 1716272655684, "stop": 1716272655837}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDYsImlhdCI6MTcxNjI3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDgsImlhdCI6MTcxNjI3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "38b9b125-8481-45b6-ac32-8a296603a74c", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647180}
\ No newline at end of file
{"uuid": "36c58433-7f92-42aa-8ec9-92d637ab5d05", "befores": [{"name": "case_level", "status": "passed", "start": 1716272649196, "stop": 1716272649196}], "start": 1716272649196, "stop": 1716272649338}
\ No newline at end of file
{"name": "反向用例-用户名正确,密码过长", "status": "passed", "attachments": [{"name": "log", "source": "bec89abd-6bbb-4eca-9fa4-0992902cd615-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "f0d73289-0b63-4cb1-b728-7302fc1acc55-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-用户名正确,密码过长'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272598895, "stop": 1716272598989, "uuid": "946a5629-c66f-4fd5-8b98-9bb29349f299", "historyId": "37bde76add67e3f73e804e1ff293bbd9", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "38c2d4d9-4642-486e-ad73-3ab89d47c9e9", "befores": [{"name": "api_name", "status": "passed", "start": 1716272598747, "stop": 1716272598747}], "start": 1716272598747, "stop": 1716272598824}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "0be0f8ba-cd5d-45f6-9c86-b79a73be7457-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "dbda4c3f-ae3e-4116-a81a-6b27471e5e73-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'删除组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"}, {"name": "mime", "value": "'text/plain'"}, {"name": "case_data", "value": "'test_add_org'"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除组织成功!', 'value': ''}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272644883, "stop": 1716272644938, "uuid": "897bff55-0c89-4809-984e-7d23734dfe86", "historyId": "5ee7a985530eff8db65cbc3fbd8fd151", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "4b51e555-c8d8-4308-9b53-8dafa827e16b", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272621920, "stop": 1716272621920}], "start": 1716272621920, "stop": 1716272621979}
\ No newline at end of file
{"uuid": "1c9b3c3d-7370-45b5-b1a9-c26303870947", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612938}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
\ No newline at end of file
{"uuid": "78586e9a-43ba-43b1-82c8-dac6021f1247", "befores": [{"name": "module_name", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633540}
\ No newline at end of file
{"uuid": "5de4d0cd-a479-4176-872b-a7f2f91b20f8", "befores": [{"name": "update_key", "status": "passed", "start": 1716272602024, "stop": 1716272602024}], "start": 1716272602024, "stop": 1716272602080}
\ No newline at end of file
{"uuid": "92b4d7ca-f522-43b6-9d65-8466e917bc31", "befores": [{"name": "mime", "status": "passed", "start": 1716272644817, "stop": 1716272644817}], "start": 1716272644817, "stop": 1716272644876}
\ No newline at end of file
{"uuid": "017f1b9f-b257-4e20-9a4a-7b84e1a3e497", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599410}
\ No newline at end of file
{"uuid": "3a254b55-5b66-446d-a50c-6ab8b31d264a", "befores": [{"name": "mime", "status": "passed", "start": 1716272642365, "stop": 1716272642365}], "start": 1716272642365, "stop": 1716272642550}
\ No newline at end of file
{"uuid": "e5e2219e-8d4a-4632-89e2-eb3d00926a0c", "befores": [{"name": "api_name", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599098}
\ No newline at end of file
{"uuid": "4b9d95c9-6cfd-4235-a459-f54b0cbaf7b6", "befores": [{"name": "method", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645064}
\ No newline at end of file
{"uuid": "51ab051c-41d1-48a8-952d-bd4b2eb1008f", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272621856, "stop": 1716272621856}], "start": 1716272621856, "stop": 1716272621912}
\ No newline at end of file
{"uuid": "aa6d2f54-7123-4370-8091-bca9657e5c13", "befores": [{"name": "case_title", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598993}
\ No newline at end of file
{"uuid": "a43829e6-393e-4301-a4ba-ffa4c4301c78", "befores": [{"name": "case_title", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635940}
\ No newline at end of file
{"uuid": "c3d1bfd2-61ad-428d-8ed5-08381ad03275", "befores": [{"name": "case_data", "status": "passed", "start": 1716272621987, "stop": 1716272621987}], "start": 1716272621987, "stop": 1716272622088}
\ No newline at end of file
{"uuid": "1aa741f8-bfe2-4e58-8b10-760afa79a99a", "befores": [{"name": "method", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640350}
\ No newline at end of file
{"uuid": "c6f67c47-20d2-47e4-8d49-2372a79bf8db", "befores": [{"name": "api_name", "status": "passed", "start": 1716272647080, "stop": 1716272647080}], "start": 1716272647080, "stop": 1716272647183}
\ No newline at end of file
{"uuid": "172eb29e-b87a-4692-9494-adf27c0a3554", "befores": [{"name": "case_title", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628513}
\ No newline at end of file
{"uuid": "3f9ce304-58e9-4235-8d31-32df3bd00eb7", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600010}
\ No newline at end of file
{"uuid": "1aa0154e-9b30-4db9-a8a6-cd24c37ae85a", "befores": [{"name": "url", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599632}
\ No newline at end of file
{"uuid": "5e487e36-d24b-4e22-83f7-b9647f86f6e8", "befores": [{"name": "api_name", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632840}
\ No newline at end of file
{"uuid": "912cf656-4db1-427d-93a4-91a98960d7fe", "befores": [{"name": "mime", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599309}
\ No newline at end of file
{"uuid": "c09f654c-efa4-4b9b-a905-98b01bc25961", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272647081, "stop": 1716272647081}], "start": 1716272647081, "stop": 1716272647180}
\ No newline at end of file
{"uuid": "4706c2e8-8103-4e96-8b80-646d2a2d73ff", "befores": [{"name": "url", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599310}
\ No newline at end of file
{"uuid": "ad68f5bf-b3dd-4846-bc03-5a3564a41920", "befores": [{"name": "case_level", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598889}
\ No newline at end of file
{"uuid": "2a4a140b-b5d0-4ec2-bdf0-72e5e7618664", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599520}
\ No newline at end of file
{"uuid": "37fdf4e5-bdd2-4832-9fd2-2da7936bc3b9", "befores": [{"name": "update_key", "status": "passed", "start": 1716272621987, "stop": 1716272621987}], "start": 1716272621987, "stop": 1716272622086}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
\ No newline at end of file
{"uuid": "f1a136d3-e716-4202-946a-600fc7f03450", "befores": [{"name": "url", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610392}
\ No newline at end of file
{"uuid": "4aa2f166-d781-4eae-beeb-ff29323ff16e", "befores": [{"name": "method", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617364}
\ No newline at end of file
{"uuid": "3f93f768-1bb3-4bbf-8a1f-749c8c88d71e", "befores": [{"name": "case_title", "status": "passed", "start": 1716272653520, "stop": 1716272653520}], "start": 1716272653520, "stop": 1716272653673}
\ No newline at end of file
{"uuid": "faeb0818-8f97-4937-a485-6ef0afec3a6f", "befores": [{"name": "module_name", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598993}
\ No newline at end of file
{"uuid": "44f5f624-8694-4935-b63b-b347a83bbda3", "befores": [{"name": "mime", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633730}
\ No newline at end of file
{"uuid": "bf70cb5a-5a1c-4fb4-a33f-21001816a485", "befores": [{"name": "module_name", "status": "passed", "start": 1716272644816, "stop": 1716272644816}], "start": 1716272644816, "stop": 1716272644879}
\ No newline at end of file
{"uuid": "4cb67617-0d70-4616-a5b3-06116727301c", "befores": [{"name": "mime", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655836}
\ No newline at end of file
{"uuid": "969a68cd-9c91-454e-9173-ee000003c5ed", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599738}
\ No newline at end of file
{"uuid": "be9dfa4f-c71e-4ffc-82db-14710daa749b", "befores": [{"name": "case_level", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599632}
\ No newline at end of file
{"uuid": "0295edc7-5053-4778-8480-58ffdaad9f24", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272598748, "stop": 1716272598748}], "start": 1716272598748, "stop": 1716272598812}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332960567296"}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
\ No newline at end of file
{"uuid": "59eb740d-a9e5-476e-a4bf-d4d1e58705f8", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272640167, "stop": 1716272640167}], "start": 1716272640167, "stop": 1716272640349}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803333417746432"}
\ No newline at end of file
{"uuid": "ffbc9f60-dbcf-4c4a-9edf-f4826805c87f", "befores": [{"name": "mime", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599520}
\ No newline at end of file
{"uuid": "1c131b73-96c3-4e39-9811-c3838d718412", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599309}
\ No newline at end of file
{"uuid": "5d4c021b-9e49-4ed3-9452-4354c1c36d31", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617363}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803330750169088"}
\ No newline at end of file
{"uuid": "dd51f2d8-c0e9-4c6b-9cf3-afcd5da0f572", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272642365, "stop": 1716272642365}], "start": 1716272642365, "stop": 1716272642549}
\ No newline at end of file
{"uuid": "56e1deaa-05bb-49cd-a642-ef49bfb0dae4", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272619383, "stop": 1716272619383}], "start": 1716272619383, "stop": 1716272619574}
\ No newline at end of file
{"uuid": "7fa53bed-02d3-40bb-94d7-a77fa3a1a9d1", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272644883, "stop": 1716272644883}], "start": 1716272644883, "stop": 1716272644949}
\ No newline at end of file
{"uuid": "82c27095-f872-44fa-a3d7-8dcb64a1d173", "befores": [{"name": "url", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621850}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "e78097d6-f262-4f12-9f73-2ac425814e91-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '需要更新'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272621987, "stop": 1716272622080, "uuid": "28266b7a-99b9-4953-84e1-513ec1ec4e3f", "historyId": "347d2f73ed73495ba7ba72dbf723f253", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "86466924-07fe-456b-abe5-3278437aeb58", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272635751, "stop": 1716272635751}], "start": 1716272635751, "stop": 1716272635937}
\ No newline at end of file
{"uuid": "6f33881b-3ba5-4818-99ba-7887252cc716", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644810}
\ No newline at end of file
{"uuid": "4b665d89-e011-44a9-8dd0-b6e0c2ce99bf", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610535}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '刷新token成功' == None\n + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\n + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\n + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\n + where <bound method Response.json of <Response [200]>> = <Response [200]>.json", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F17992220>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '认证接口', api_name = '刷新token', case_title = '正向用例'\ncase_level = '中', method = 'GET', url = 'http://120.46.172.186:8080/refresh', mime = None, case_data = None\nexpect_data = {'message': '刷新token成功'}, sql_data = None, sql_type = None, update_key = None\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000014F191A66C0>('message')\nE + where <built-in method get of dict object at 0x0000014F191A66C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "04d15195-6da2-42ea-8d54-c79fd8fef927-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'GET'"}, {"name": "url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272602024, "stop": 1716272602074, "uuid": "21b7eb43-6197-4901-b681-af5d31760ac2", "historyId": "1dcae5f805bddffd6ce19e14c8b3458b", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "5868a3bf-bf37-42d8-8c8a-a36a87357032", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633729}
\ No newline at end of file
{"uuid": "7de74905-5c37-4dd7-876f-c14063ccd5cf", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626350}
\ No newline at end of file
{"uuid": "b3452116-edad-43bc-9944-da07e9086885", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621788}
\ No newline at end of file
{"uuid": "b3c3cb24-ae52-4af3-abf9-defa2b468659", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599741}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
\ No newline at end of file
{"uuid": "e2826847-610f-44d6-bd44-164d01239ed8", "befores": [{"name": "module_name", "status": "passed", "start": 1716272626205, "stop": 1716272626206}], "start": 1716272626205, "stop": 1716272626353}
\ No newline at end of file
{"uuid": "68d1e34d-fa79-47f5-bd2b-6940516be03f", "befores": [{"name": "mime", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599206}
\ No newline at end of file
{"uuid": "57e0f106-9f43-4d7a-abec-7c75d4879b17", "befores": [{"name": "case_data", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612948}
\ No newline at end of file
{"uuid": "8232be02-1eb4-469e-9622-9809ff17c1ce", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272604095, "stop": 1716272604095}], "start": 1716272604095, "stop": 1716272604153}
\ No newline at end of file
{"uuid": "b36cc034-7a0b-4f19-85e2-1c9dbd65eb4e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272621795, "stop": 1716272621795}], "start": 1716272621795, "stop": 1716272621848}
\ No newline at end of file
ERROR  root:test_bpm.py:68 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
\ No newline at end of file
{"uuid": "75d6f655-d27d-42c3-a936-82490f1e29b1", "befores": [{"name": "case_data", "status": "passed", "start": 1716272598997, "stop": 1716272598997}], "start": 1716272598997, "stop": 1716272599095}
\ No newline at end of file
{"uuid": "e2c7fd55-bad9-46c2-925a-1e7ae2a2b051", "befores": [{"name": "case_data", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598991}
\ No newline at end of file
{"uuid": "260803bb-3ab1-41f1-bc1c-06ed2c395ec4", "befores": [{"name": "method", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632839}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "9b29920b-f532-4d2f-b372-d982f346094b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272621599, "stop": 1716272621780, "uuid": "1dfe4690-98d0-4b43-ada0-749b2afe1376", "historyId": "487ae598a2b30a5ea2489bb3e5fa08a4", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "f673e798-8106-46a0-a6f7-2b4903334380", "befores": [{"name": "update_key", "status": "passed", "start": 1716272642365, "stop": 1716272642365}], "start": 1716272642365, "stop": 1716272642547}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == '删除维度成功!'\n \n - 删除维度成功!\n ? -\n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "a21c4cf1-3cd5-44f4-85d8-69f24a4ea36e-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '需要更新'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272644958, "stop": 1716272645054, "uuid": "25f9cf42-df26-4ca4-b7b5-45802bfb99b1", "historyId": "f0f670cbfec7a9680aec241c756307a6", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "e292c057-1d58-406f-b082-e7b6c6e8c040", "befores": [{"name": "update_key", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645061}
\ No newline at end of file
{"uuid": "01e81227-4b5a-4d56-a4de-cd4c88eb2e5f", "befores": [{"name": "url", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633538}
\ No newline at end of file
{"uuid": "759cab96-5da4-4dca-9985-e58347f771e7", "befores": [{"name": "mime", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621915}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "270697f6-0292-4bff-95fc-8756213876bd-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272610542, "stop": 1716272610722, "uuid": "08a93c9f-5e8c-45f4-9231-1a9a3a67d652", "historyId": "487ae598a2b30a5ea2489bb3e5fa08a4", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "6adc9d9d-6d40-4442-b251-26bd8de3f874", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599408}
\ No newline at end of file
{"uuid": "dfbd8b3d-63fd-4ba5-9c84-97a7e0cd914e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610534}
\ No newline at end of file
{"uuid": "ce3853c7-088a-42ac-9b46-2a429904bacd", "befores": [{"name": "mime", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632839}
\ No newline at end of file
{"uuid": "e585d573-2f6d-4d3d-a0f5-f613bebe9c5a", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599754, "stop": 1716272599754}], "start": 1716272599754, "stop": 1716272600010}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803560044380160"}
\ No newline at end of file
{"uuid": "53fe940d-ae52-48ae-80df-6af8d977e701", "befores": [{"name": "case_level", "status": "passed", "start": 1716272624097, "stop": 1716272624097}], "start": 1716272624097, "stop": 1716272624196}
\ No newline at end of file
{"uuid": "b4025f08-90f6-44d0-af5d-dea86e252a60", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598887}
\ No newline at end of file
{"uuid": "5a964d5d-bba5-4cba-8137-dfec6de63dad", "befores": [{"name": "method", "status": "passed", "start": 1716272642364, "stop": 1716272642364}], "start": 1716272642364, "stop": 1716272642550}
\ No newline at end of file
{"uuid": "4b45b374-7739-4eab-a483-36f233045d0f", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599212, "stop": 1716272599212}], "start": 1716272599212, "stop": 1716272599311}
\ No newline at end of file
{"uuid": "3ae8e690-cbd0-4885-b444-6aeb24d3dfb0", "befores": [{"name": "url", "status": "passed", "start": 1716272617174, "stop": 1716272617174}], "start": 1716272617174, "stop": 1716272617364}
\ No newline at end of file
{"uuid": "0006bf61-6aad-4a34-ad39-7078ceff6435", "befores": [{"name": "api_name", "status": "passed", "start": 1716272617172, "stop": 1716272617172}], "start": 1716272617172, "stop": 1716272617365}
\ No newline at end of file
{"uuid": "ef1d2f7e-ed30-46c8-aeaa-16ef66892977", "befores": [{"name": "api_name", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644954}
\ No newline at end of file
{"uuid": "d8572fdb-d140-44bc-9f16-9ab8046f5ec4", "befores": [{"name": "url", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599521}
\ No newline at end of file
{"uuid": "4fd8b307-8dc1-49e9-9c14-118c8c677e58", "befores": [{"name": "mime", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599411}
\ No newline at end of file
{"uuid": "04e48809-c502-48e6-a380-56c3a697c9ee", "befores": [{"name": "case_title", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640352}
\ No newline at end of file
{"uuid": "17eba1a7-b6e7-47fa-8f73-2383643bd2b9", "befores": [{"name": "mime", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599631}
\ No newline at end of file
{"uuid": "33080d88-8497-4eb2-9487-ce35a236fce6", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272644883, "stop": 1716272644883}], "start": 1716272644883, "stop": 1716272644950}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "674782b5-95dd-437b-bbed-deec053e265f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272642365, "stop": 1716272642541, "uuid": "02a9a62e-8cd4-4d16-a6ad-5c9ae83ed3d4", "historyId": "526f1fd519b78b4955668d6cfd277048", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "ac0473d8-03ac-40d9-8762-a99f28224867", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599629}
\ No newline at end of file
{"uuid": "41ab22dc-1841-44c2-ba7f-24c5c195614e", "befores": [{"name": "api_name", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644751}
\ No newline at end of file
{"uuid": "98bc8393-d1de-4680-8022-e36888927a8a", "befores": [{"name": "case_title", "status": "passed", "start": 1716272621598, "stop": 1716272621598}], "start": 1716272621598, "stop": 1716272621789}
\ No newline at end of file
{"uuid": "ce3f5bd5-30c6-41cc-b780-a09288e9cc93", "befores": [{"name": "module_name", "status": "passed", "start": 1716272644755, "stop": 1716272644755}], "start": 1716272644755, "stop": 1716272644813}
\ No newline at end of file
{"uuid": "7d6a1585-dbef-4a0c-9b14-d264362699ed", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610535}
\ No newline at end of file
{"uuid": "94fc8ced-5e50-4d41-ba3a-5739d2b00748", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272633396, "stop": 1716272633396}], "start": 1716272633396, "stop": 1716272633537}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "7d428463-d5f3-435a-bdf5-d937f4fb1ac4", "befores": [{"name": "api_name", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615157}
\ No newline at end of file
{"uuid": "9bc1217f-4380-4434-9246-3471d4a3463d", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612939}
\ No newline at end of file
{"uuid": "ffe62b30-2b2c-4402-8dbc-31c0261256e5", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272602024, "stop": 1716272602024}], "start": 1716272602024, "stop": 1716272602081}
\ No newline at end of file
{"uuid": "5c9be1ae-2f77-474f-8e43-cf68690cb139", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599315, "stop": 1716272599315}], "start": 1716272599315, "stop": 1716272599411}
\ No newline at end of file
{"uuid": "31d5a57f-95a8-456a-b563-0c30f7313942", "befores": [{"name": "case_data", "status": "passed", "start": 1716272598828, "stop": 1716272598828}], "start": 1716272598828, "stop": 1716272598887}
\ No newline at end of file
{"uuid": "c9bc1b4c-cc72-43ca-94bf-53391668f1ca", "befores": [{"name": "case_data", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602082}
\ No newline at end of file
{"uuid": "e69b4f5a-7273-4523-9d5b-5aa9a4b99ac7", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628511}
\ No newline at end of file
{"uuid": "02b21273-1bfa-43a2-b725-0706d2f732ef", "befores": [{"name": "method", "status": "passed", "start": 1716272608243, "stop": 1716272608243}], "start": 1716272608243, "stop": 1716272608305}
\ No newline at end of file
{"uuid": "f08a0b40-fccd-40f7-9f23-8b048421ed76", "befores": [{"name": "method", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622090}
\ No newline at end of file
{"uuid": "7a46243d-89b3-4af4-b62d-9b0db17243ab", "befores": [{"name": "url", "status": "passed", "start": 1716272614966, "stop": 1716272614966}], "start": 1716272614966, "stop": 1716272615156}
\ No newline at end of file
{"uuid": "59d27c2f-0f2c-4681-94a4-a5a2fddaaa62", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651500}
\ No newline at end of file
{"uuid": "b41b9abb-c69a-4ff5-bff8-c5c29d410c9e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628509}
\ No newline at end of file
{"uuid": "f5f97929-7545-426d-adeb-c1512323daee", "befores": [{"name": "mime", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621788}
\ No newline at end of file
{"uuid": "d49a842e-2cff-4734-a0c4-ebeac6cd39d9", "befores": [{"name": "url", "status": "passed", "start": 1716272621855, "stop": 1716272621855}], "start": 1716272621855, "stop": 1716272621915}
\ No newline at end of file
{"uuid": "a7ce25e5-ce10-4cfe-93a7-04fc7b788e63", "befores": [{"name": "url", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644750}
\ No newline at end of file
{"uuid": "7cbf4bb9-f4b0-421a-b9c0-22e9f6cfc010", "befores": [{"name": "module_name", "status": "passed", "start": 1716272621986, "stop": 1716272621986}], "start": 1716272621986, "stop": 1716272622090}
\ No newline at end of file
{"uuid": "3936f81b-1554-4f9d-b3a0-d36ab08ceaab", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632829}
\ No newline at end of file
{"name": "正向用例-正确输入用户名和密码", "status": "passed", "attachments": [{"name": "log", "source": "76cb374f-acab-4726-b9aa-2a71d34cda4f-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "641690dc-554a-4a04-be37-4a9e72b43fbb-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'正向用例-正确输入用户名和密码'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'MTIzNDU2'}"}, {"name": "expect_data", "value": "{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272598748, "stop": 1716272598811, "uuid": "de6e8ca1-3977-41fc-8592-037ad0e4f8ac", "historyId": "f7417fae3641334c555177156c21126d", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"name": "反向用例-用户名正确,密码为空", "status": "passed", "attachments": [{"name": "log", "source": "30644989-5621-4560-aa28-6e80eb68bc49-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "050f736a-4c14-4161-bff8-c02c54307aeb-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "case_title", "value": "'反向用例-用户名正确,密码为空'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': ''}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_data", "value": "None"}, {"name": "sql_type", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1716272598829, "stop": 1716272598886, "uuid": "040bef0e-8054-4a69-ad83-12b8493dc82d", "historyId": "4164dfc118ea6cc8eeb9ce3984609436", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "6a4f5536-cbe0-4339-86b2-0b1420c7d62a", "befores": [{"name": "module_name", "status": "passed", "start": 1716272621919, "stop": 1716272621920}], "start": 1716272621919, "stop": 1716272621984}
\ No newline at end of file
{"uuid": "0aa4ceea-83b3-4186-836e-fb453ff0e1d5", "befores": [{"name": "update_key", "status": "passed", "start": 1716272637956, "stop": 1716272637956}], "start": 1716272637956, "stop": 1716272638145}
\ No newline at end of file
{"uuid": "8fbbcfef-bf4a-49d4-b1ed-fa5328c76859", "befores": [{"name": "case_level", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610736}
\ No newline at end of file
{"uuid": "6bd58ecb-2dfa-49f3-a6f3-ac9373934bcf", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626350}
\ No newline at end of file
{"uuid": "ee0e5bfc-0650-4221-a206-42cac0cde588", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599417, "stop": 1716272599417}], "start": 1716272599417, "stop": 1716272599523}
\ No newline at end of file
{"uuid": "ce7f642a-5eba-4af1-ab77-0f61c4bc4770", "befores": [{"name": "method", "status": "passed", "start": 1716272610541, "stop": 1716272610541}], "start": 1716272610541, "stop": 1716272610735}
\ No newline at end of file
{"uuid": "7770c3f2-7735-4c3d-80fa-4959389efe20", "befores": [{"name": "module_name", "status": "passed", "start": 1716272644957, "stop": 1716272644958}], "start": 1716272644957, "stop": 1716272645067}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "4f59778f-ce0c-4773-9314-e4b04ab6420a", "befores": [{"name": "update_key", "status": "passed", "start": 1716272599418, "stop": 1716272599418}], "start": 1716272599418, "stop": 1716272599518}
\ No newline at end of file
{"uuid": "7b96c188-8c3c-4096-bfdf-9316bfa82752", "befores": [{"name": "case_title", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599207}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179923A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "0453ac8d-bc38-4c0b-bd86-e5bd9e1535a5-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272612750, "stop": 1716272612931, "uuid": "9714c1e1-0859-468b-be86-852340c61f79", "historyId": "487ae598a2b30a5ea2489bb3e5fa08a4", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "7be3fc08-8e0a-49f4-bf05-80b1fde18d9b", "befores": [{"name": "api_name", "status": "passed", "start": 1716272624097, "stop": 1716272624097}], "start": 1716272624097, "stop": 1716272624197}
\ No newline at end of file
{"uuid": "b9794b91-e61b-4096-a046-4cf84b69feb3", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272640167, "stop": 1716272640167}], "start": 1716272640167, "stop": 1716272640349}
\ No newline at end of file
{"uuid": "ec8d097f-12a8-46b4-a629-037ccaf2291b", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272598998, "stop": 1716272598998}], "start": 1716272598998, "stop": 1716272599094}
\ No newline at end of file
{"uuid": "22469b1a-e05e-47c6-a819-a6e6382bc48f", "befores": [{"name": "case_data", "status": "passed", "start": 1716272624098, "stop": 1716272624098}], "start": 1716272624098, "stop": 1716272624194}
\ No newline at end of file
{"uuid": "b883cc73-5c67-4822-a813-f7852a97b68f", "befores": [{"name": "method", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630670}
\ No newline at end of file
{"uuid": "fa6946f5-5904-4bde-8ec3-bed30e92318e", "befores": [{"name": "mime", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612949}
\ No newline at end of file
{"uuid": "64312298-0f39-48e9-a811-0a24f76d4aab", "befores": [{"name": "module_name", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602085}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "01e18fd9-42f9-4bcd-974a-5d536b223172-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803475629817856'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272649197, "stop": 1716272649328, "uuid": "5bd4b2f2-3756-447e-85d2-f91d79c74336", "historyId": "f0f670cbfec7a9680aec241c756307a6", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "2b6dc004-45ec-4af7-96e2-5c3011631695", "befores": [{"name": "method", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644952}
\ No newline at end of file
{"uuid": "6d0f11d5-70e3-43df-8253-c35edd0d447b", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272655685, "stop": 1716272655685}], "start": 1716272655685, "stop": 1716272655834}
\ No newline at end of file
{"uuid": "d8602e03-94e8-46de-bb67-d0a59a7c42c4", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599102, "stop": 1716272599102}], "start": 1716272599102, "stop": 1716272599208}
\ No newline at end of file
{"uuid": "be5b1b44-54c5-4b9c-a641-e4936172158d", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272602024, "stop": 1716272602024}], "start": 1716272602024, "stop": 1716272602081}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F1903D190>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803475629817856'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "4f123ded-0b4f-415d-961e-3f0c77fa19a2-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803475629817856'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272655685, "stop": 1716272655817, "uuid": "e282fa20-5a3f-4279-9225-bad545b3bb44", "historyId": "f0f670cbfec7a9680aec241c756307a6", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "71126275-c722-46b1-b844-6ad2787ed1f6", "befores": [{"name": "update_key", "status": "passed", "start": 1716272598893, "stop": 1716272598893}], "start": 1716272598893, "stop": 1716272598989}
\ No newline at end of file
{"uuid": "cc1f6160-7dad-410d-8b2d-08c977668641", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272621987, "stop": 1716272621987}], "start": 1716272621987, "stop": 1716272622087}
\ No newline at end of file
{"uuid": "080f2b0c-fac9-408b-9715-2c5ca216cd8a", "befores": [{"name": "method", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633730}
\ No newline at end of file
{"uuid": "8eb49550-8808-4801-8eba-1f659bec8fc8", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272644958, "stop": 1716272644958}], "start": 1716272644958, "stop": 1716272645062}
\ No newline at end of file
{"uuid": "9baff91a-1ea3-4db8-b36b-81b631bf33cd", "befores": [{"name": "url", "status": "passed", "start": 1716272651357, "stop": 1716272651357}], "start": 1716272651357, "stop": 1716272651502}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "1a5a808f-02c9-421a-8759-a657843dcdd6-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "4fc57b0e-88e2-4150-a1a0-afa2c27af05c-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'添加维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'pOst'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}"}, {"name": "expect_data", "value": "{'message': '添加维度成功!'}"}, {"name": "sql_data", "value": "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'delete'"}, {"name": "update_key", "value": "None"}], "start": 1716272610398, "stop": 1716272610534, "uuid": "a2af0d1d-aaf2-479d-85f6-b3a86b65fa84", "historyId": "435ba53246b35b4af7286c32ad75fe23", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "4bb5e7bd-563f-4f23-888a-e6dcbaf98caf", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272633543, "stop": 1716272633543}], "start": 1716272633543, "stop": 1716272633729}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "fe9eef79-0e64-42ae-b5ae-73ce4cbd32bd", "befores": [{"name": "case_data", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610392}
\ No newline at end of file
{"uuid": "5b0b5785-4994-4e52-abdc-a0cecb6fb3a7", "befores": [{"name": "case_data", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599631}
\ No newline at end of file
{"uuid": "24b064d8-574a-4e84-8d81-6dc3d7fc22a2", "befores": [{"name": "module_name", "status": "passed", "start": 1716272599417, "stop": 1716272599417}], "start": 1716272599417, "stop": 1716272599523}
\ No newline at end of file
{"uuid": "fe41d33b-ad9e-4baf-8284-f374778500ee", "befores": [{"name": "api_name", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612951}
\ No newline at end of file
{"uuid": "50fa53ab-ca33-4d06-9cab-cef764c610b5", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272621856, "stop": 1716272621856}], "start": 1716272621856, "stop": 1716272621913}
\ No newline at end of file
{"uuid": "d55adf90-b637-4d9c-8fb1-35bc68e0f11c", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272628365, "stop": 1716272628365}], "start": 1716272628365, "stop": 1716272628509}
\ No newline at end of file
{"uuid": "362d65da-0de2-4771-9b2f-e227e3a221bb", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272621795, "stop": 1716272621795}], "start": 1716272621795, "stop": 1716272621849}
\ No newline at end of file
{"uuid": "63c3a822-e0aa-4c5c-beea-ca433cb8ae08", "befores": [{"name": "module_name", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640352}
\ No newline at end of file
{"uuid": "e16a54c7-78bf-44b0-be69-1d3fee75966f", "befores": [{"name": "update_key", "status": "passed", "start": 1716272604095, "stop": 1716272604095}], "start": 1716272604095, "stop": 1716272604153}
\ No newline at end of file
{"uuid": "eb58e06b-b5b0-44dc-bfb0-cedfced18bbf", "befores": [{"name": "case_title", "status": "passed", "start": 1716272644557, "stop": 1716272644557}], "start": 1716272644557, "stop": 1716272644751}
\ No newline at end of file
{"uuid": "10807cfe-c144-4fd5-87ef-4d557f95121f", "befores": [{"name": "module_name", "status": "passed", "start": 1716272624097, "stop": 1716272624097}], "start": 1716272624097, "stop": 1716272624197}
\ No newline at end of file
{"uuid": "42d54d40-0096-4734-b013-02354556fdb4", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272599527, "stop": 1716272599527}], "start": 1716272599527, "stop": 1716272599630}
\ No newline at end of file
{"uuid": "fe853f73-a0a2-43cb-b55d-c48717779436", "befores": [{"name": "api_name", "status": "passed", "start": 1716272642364, "stop": 1716272642364}], "start": 1716272642364, "stop": 1716272642551}
\ No newline at end of file
{"uuid": "1650c420-00ee-4908-b92e-6e37146a8ce8", "befores": [{"name": "method", "status": "passed", "start": 1716272655684, "stop": 1716272655684}], "start": 1716272655684, "stop": 1716272655836}
\ No newline at end of file
{"uuid": "dd9539f0-93b9-45fe-b54f-dfb86ad5bca9", "befores": [{"name": "module_name", "status": "passed", "start": 1716272610397, "stop": 1716272610397}], "start": 1716272610397, "stop": 1716272610538}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "c9eae618-f036-47fc-b558-11e55e37943b-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "63ed9fbf-6772-47c7-bc71-cc7c376a16d9-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'添加维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'pOst'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}"}, {"name": "expect_data", "value": "{'message': '添加维度成功!'}"}, {"name": "sql_data", "value": "'delete FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'delete'"}, {"name": "update_key", "value": "None"}], "start": 1716272633398, "stop": 1716272633535, "uuid": "3a61f8e2-29b1-46e9-99ff-83ea06718f5d", "historyId": "aab084bf6a05ec45b335f51ecc264b7e", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "19f2675a-9b65-49e2-bca8-b6e9ddf43dcd", "befores": [{"name": "case_level", "status": "passed", "start": 1716272644816, "stop": 1716272644816}], "start": 1716272644816, "stop": 1716272644877}
\ No newline at end of file
{"uuid": "018cfdf6-1685-434e-a34f-0fc24c2f6c8a", "befores": [{"name": "module_name", "status": "passed", "start": 1716272621794, "stop": 1716272621794}], "start": 1716272621794, "stop": 1716272621852}
\ No newline at end of file
{"uuid": "082bc456-60db-4aa8-aae1-852e67da81fb", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644811}
\ No newline at end of file
{"uuid": "c3e4620d-2ee1-4f83-8ec9-cabbc0406cdc", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272630526, "stop": 1716272630526}], "start": 1716272630526, "stop": 1716272630668}
\ No newline at end of file
{"uuid": "df74fb72-f1cc-43cd-904a-5a5e3b8f9a59", "befores": [{"name": "mime", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610392}
\ No newline at end of file
{"uuid": "502166e1-14e4-4a30-b5d1-5444c14c3e10", "befores": [{"name": "update_key", "status": "passed", "start": 1716272621599, "stop": 1716272621599}], "start": 1716272621599, "stop": 1716272621787}
\ No newline at end of file
{"uuid": "99879375-d4f3-4d66-a1a8-d293f74f5103", "befores": [{"name": "url", "status": "passed", "start": 1716272612749, "stop": 1716272612749}], "start": 1716272612749, "stop": 1716272612949}
\ No newline at end of file
{"uuid": "74c1e657-aea4-4519-b0ce-722e3ce6b7df", "befores": [{"name": "module_name", "status": "passed", "start": 1716272621598, "stop": 1716272621598}], "start": 1716272621598, "stop": 1716272621791}
\ No newline at end of file
{"uuid": "20a04cbe-694e-40b2-9b73-3efb1b5adbd8", "befores": [{"name": "api_name", "status": "passed", "start": 1716272599639, "stop": 1716272599639}], "start": 1716272599639, "stop": 1716272599740}
\ No newline at end of file
{"uuid": "0430f003-fb9d-4a4b-a984-1509dd072829", "befores": [{"name": "case_data", "status": "passed", "start": 1716272644882, "stop": 1716272644882}], "start": 1716272644882, "stop": 1716272644950}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "32307c09-b496-435f-bba5-c2798db7be07-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803379156631552'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272624099, "stop": 1716272624187, "uuid": "47742522-0ccb-41e1-bbc6-814171df56f5", "historyId": "347d2f73ed73495ba7ba72dbf723f253", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "91c035d7-f6f1-4bd9-b799-c5f904612d77", "befores": [{"name": "expect_data", "status": "passed", "start": 1716272632685, "stop": 1716272632685}], "start": 1716272632685, "stop": 1716272632830}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '添加组织成功' == '添加组织成功!'\n \n - 添加组织成功!\n ? -\n + 添加组织成功", "trace": "self = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_mirZhang\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_mirZhang.test_bpm.TestBPM object at 0x0000014F17992C70>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1923AE50>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1912F2B0>, module_name = '组织管理', api_name = '添加组织', case_title = '正向用例'\ncase_level = '高', method = 'POST', url = 'http://120.46.172.186:8080/api/org/v1/org/addOrg', mime = 'json'\ncase_data = {'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}\nsql_data = {'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";', 'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'}\nsql_type = 'select|delete', update_key = 'demId'\n\n @allure.epic(\"BPM系统-老张\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_mirZhang\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "0c5a26e3-db88-4d6e-b01a-857990738541-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'高'"}, {"name": "method", "value": "'POST'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_data", "value": "{'select': 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_add_org\";'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "update_key", "value": "'demId'"}], "start": 1716272640167, "stop": 1716272640342, "uuid": "894a9818-f702-402c-855f-0eeb3a6d13aa", "historyId": "526f1fd519b78b4955668d6cfd277048", "testCaseId": "8c3ca9784f7a20f46f527b41c7204e5a", "fullName": "test_case.test_mirZhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统-老张"}, {"name": "parentSuite", "value": "test_case.test_mirZhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_mirZhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "1c2171cd-6ca4-4a38-bb0c-e5bfbe1d829e", "befores": [{"name": "case_title", "status": "passed", "start": 1716272610325, "stop": 1716272610325}], "start": 1716272610325, "stop": 1716272610393}
\ No newline at end of file
{"uuid": "ed97ad3d-c51a-429f-9a80-149fb10976fb", "befores": [{"name": "case_title", "status": "passed", "start": 1716272624097, "stop": 1716272624097}], "start": 1716272624097, "stop": 1716272624196}
\ No newline at end of file
{"uuid": "e197eff1-4a8f-40ee-aa65-bf4d88ff01a6", "befores": [{"name": "case_level", "status": "passed", "start": 1716272602023, "stop": 1716272602023}], "start": 1716272602023, "stop": 1716272602083}
\ No newline at end of file
{"uuid": "0af6cbbf-4031-4cce-95e4-6c4d9de2d308", "befores": [{"name": "update_key", "status": "passed", "start": 1716272644756, "stop": 1716272644756}], "start": 1716272644756, "stop": 1716272644809}
\ No newline at end of file
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
ERROR  root:test_bpm.py:65 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
\ No newline at end of file
{"uuid": "b693009b-47d7-4f9d-889e-f744ba4dfcb5", "befores": [{"name": "url", "status": "passed", "start": 1716272630525, "stop": 1716272630525}], "start": 1716272630525, "stop": 1716272630670}
\ No newline at end of file
{"uuid": "293e56bc-d430-49ee-a203-c5b526996962", "befores": [{"name": "method", "status": "passed", "start": 1716272637955, "stop": 1716272637955}], "start": 1716272637955, "stop": 1716272638149}
\ No newline at end of file
{"uuid": "45459205-fc30-4666-8fd7-09dff3ecd489", "befores": [{"name": "sql_data", "status": "passed", "start": 1716272621795, "stop": 1716272621795}], "start": 1716272621795, "stop": 1716272621849}
\ No newline at end of file
{"uuid": "4e945fce-33b8-4941-88a7-d31dc292ff64", "befores": [{"name": "url", "status": "passed", "start": 1716272640166, "stop": 1716272640166}], "start": 1716272640166, "stop": 1716272640350}
\ No newline at end of file
{"uuid": "b9cc96e8-bdb3-41e0-8a4d-dc032a57a66e", "befores": [{"name": "sql_type", "status": "passed", "start": 1716272626206, "stop": 1716272626206}], "start": 1716272626206, "stop": 1716272626349}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: assert '删除维度成功' == ''\n \n + 删除维度成功", "trace": "self = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except AssertionError as e:\n logging.error(f\"断言失败, 用例数据为{case_data}, 期望数据为:{expect_data}, 服务器返回的数据为:{res.text}\")\n> raise e\n\ntest_case\\test_demo\\test_bpm.py:66: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <InterfaceAutoTest.test_case.test_demo.test_bpm.TestBPM object at 0x0000014F179926A0>\nreq_fix = <InterfaceAutoTest.requests_method.requsts_method.RequestsMethod object at 0x0000014F1903D9D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000014F1908BF10>, module_name = '维度管理', api_name = '根据维度编码删除维度', case_title = '正向用例'\ncase_level = '中', method = 'DELETE', url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase_data = {'ids': '1792803379156631552'}, expect_data = {'message': '删除维度成功'}\nsql_data = 'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";', sql_type = 'select', update_key = 'ids'\n\n @allure.epic(\"BPM系统-demo\") # 测试系统的名称\n # @allure.feature(\"模块名称\") # 模块名称\n # @allure.story(\"接口名称\") # 接口\n # @allure.title(\"标题名称\") # 用例标题\n # @allure.severity(\"用例的等级\") # 用例等级\n @pytest.mark.parametrize(\"module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key\", excel.get_data())\n def test_bpm(self, req_fix, db_fix, module_name, api_name, case_title, case_level, method, url, mime, case_data, expect_data, sql_data, sql_type, update_key):\n # 给allure输出的报告添加内容\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(case_title)\n allure.dynamic.severity(case_level)\n \n # 判断sql语句类型是否为select\n if sql_type == \"select\":\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 判断sql语句的类型是否为delete\n elif sql_type == \"delete\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data)\n # 将数据库中的数据删除完之后,再发送请求\n \n # 判断sql语句类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete_func方法执行删除的sql语句\n db_fix.delete_func(sql_data[\"delete\"])\n # 使用DB类对象调用select_func方法执行查询的sql语句,并接收查询结果\n select_result = db_fix.select_func(sql_data[\"select\"])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 将更新之后的用例数据发送给服务器。\n \n # 使用RequestsMethod对象发送请求\n res = req_fix.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == ''\nE \nE + 删除维度成功\n\ntest_case\\test_demo\\test_bpm.py:63: AssertionError"}, "attachments": [{"name": "log", "source": "c555e677-f3d6-401b-a176-e1551e7f9383-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "case_title", "value": "'正向用例'"}, {"name": "case_level", "value": "'中'"}, {"name": "method", "value": "'DELETE'"}, {"name": "url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1792803379156631552'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功'}"}, {"name": "sql_data", "value": "'select ID_ FROM uc_demension WHERE `CODE_`=\"api_auto_test_add_dem\";'"}, {"name": "sql_type", "value": "'select'"}, {"name": "update_key", "value": "'ids'"}], "start": 1716272626207, "stop": 1716272626341, "uuid": "9813414c-29d3-4f07-bd19-9d6b147a1c80", "historyId": "347d2f73ed73495ba7ba72dbf723f253", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统-demo"}, {"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-O09782E1"}, {"name": "thread", "value": "8968-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
2024-05-21 10:30:20,930 - ERROR: 执行的功能为:get_host, 功能的描述为:根据key获取域名, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\read_ini.py, 所在行为:47, 错误为:No option 'host' in section: 'host'
2024-05-21 10:30:20,930 - ERROR: 执行的功能为:__init__, 功能的描述为:关联token, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\requests_method\requsts_method.py, 所在行为:19, 错误为:No option 'host' in section: 'host'
2024-05-21 10:30:23,470 - ERROR: 执行的功能为:get_host, 功能的描述为:根据key获取域名, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\read_ini.py, 所在行为:47, 错误为:No option 'host' in section: 'host'
2024-05-21 10:30:23,470 - ERROR: 执行的功能为:__init__, 功能的描述为:关联token, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\requests_method\requsts_method.py, 所在行为:19, 错误为:No option 'host' in section: 'host'
2024-05-21 10:31:10,919 - ERROR: 执行的功能为:get_host, 功能的描述为:根据key获取域名, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\read_ini.py, 所在行为:47, 错误为:No option 'host' in section: 'host'
2024-05-21 10:31:10,920 - ERROR: 执行的功能为:__init__, 功能的描述为:关联token, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\requests_method\requsts_method.py, 所在行为:19, 错误为:No option 'host' in section: 'host'
2024-05-21 10:32:30,922 - ERROR: 执行的功能为:get_host, 功能的描述为:根据key获取域名, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\read_ini.py, 所在行为:47, 错误为:No option 'host' in section: 'host'
2024-05-21 10:32:30,922 - ERROR: 执行的功能为:__init__, 功能的描述为:关联token, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\requests_method\requsts_method.py, 所在行为:19, 错误为:No option 'host' in section: 'host'
2024-05-21 10:33:42,581 - ERROR: 执行的功能为:get_host, 功能的描述为:根据key获取域名, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\read_ini.py, 所在行为:47, 错误为:No option 'host' in section: 'host'
2024-05-21 10:33:42,581 - ERROR: 执行的功能为:__init__, 功能的描述为:关联token, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\requests_method\requsts_method.py, 所在行为:19, 错误为:No option 'host' in section: 'host'
2024-05-21 10:34:39,696 - ERROR: 执行的功能为:get_host, 功能的描述为:根据key获取域名, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\read_ini.py, 所在行为:47, 错误为:No option 'host' in section: 'host'
2024-05-21 10:34:39,696 - ERROR: 执行的功能为:__init__, 功能的描述为:关联token, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\requests_method\requsts_method.py, 所在行为:19, 错误为:No option 'host' in section: 'host'
2024-05-21 10:35:11,634 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDUzMTAsImlhdCI6MTcxNjI1ODkxMH0.5u0rTej2HmojLvnUkun2ASqa0QvdEB9NpvypjCI1m28MAZ8CqZyqH1ENzA9ErJPKL01PL53BOGncf61Q8uwh_g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 10:35:11,689 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745922808004608"}
2024-05-21 10:35:11,783 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745923198074880"}
2024-05-21 10:35:11,880 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745923617505280"}
2024-05-21 10:35:11,980 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745924032741376"}
2024-05-21 10:35:12,077 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745924435394560"}
2024-05-21 10:35:12,171 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745924838047744"}
2024-05-21 10:35:12,264 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745925223923712"}
2024-05-21 10:35:12,355 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745925609799680"}
2024-05-21 10:35:12,448 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745925995675648"}
2024-05-21 10:35:12,545 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDUzMTEsImlhdCI6MTcxNjI1ODkxMX0.8CMCn-fqoMUfU2FpEx4oDkq7YOaXMSC9AFVf1LVQ7MzCx6D83bC2BXsL7U6v923vBNV6loA-0Cm6UFdK5oYb9A","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 10:35:12,828 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:35:13,013 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792745927572733952', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:35:13,079 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:35:13,139 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:35:13,200 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:35:13,297 - ERROR: 断言失败, 用例数据为{'ids': '1792745927572733952'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 10:35:21,521 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDUzMjAsImlhdCI6MTcxNjI1ODkyMH0.4v4GE0-5S74CgQoMp7OIproBPhDJjMkggdblp05FHdNf5BSfzSMgNoLYcOszv-pSPvG0hOzNkDhSx_PazpmxQA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 10:35:21,577 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745964285476864"}
2024-05-21 10:35:21,676 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745964696518656"}
2024-05-21 10:35:21,770 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745965099171840"}
2024-05-21 10:35:21,866 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745965497630720"}
2024-05-21 10:35:21,961 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745965896089600"}
2024-05-21 10:35:22,055 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745966294548480"}
2024-05-21 10:35:22,149 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745966680424448"}
2024-05-21 10:35:22,243 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745967074689024"}
2024-05-21 10:35:22,340 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792745967485730816"}
2024-05-21 10:35:22,439 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDUzMjEsImlhdCI6MTcxNjI1ODkyMX0._8q0my12UrtqOQUxVEMaBcM2w-eb3YwphhFUIFVbXZb9pMFnW28X-9s2RfEAw0QeDa6MtEvX4vclXWSjpTppow","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 10:35:22,732 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:35:22,916 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792745969113120768', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:35:22,981 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:35:23,042 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:35:23,102 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:35:23,198 - ERROR: 断言失败, 用例数据为{'ids': '1792745969113120768'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 10:35:23,932 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:35:24,120 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792745974142091264', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:35:24,187 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:35:24,252 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:35:24,314 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:35:24,413 - ERROR: 断言失败, 用例数据为{'ids': '1792745974142091264'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 10:54:37,339 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDY0NzUsImlhdCI6MTcxNjI2MDA3NX0.HtvUoySbLuQbnovDfIUam-w7VCNN2ufyGA2adOvfB-Jnyb7hrYyVExIw6osF9Ce4Dfx_WWp5ruT7vg2Yg_2j8Q","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 10:54:37,396 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750812087205888"}
2024-05-21 10:54:37,503 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750812527607808"}
2024-05-21 10:54:37,605 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750812947038208"}
2024-05-21 10:54:37,701 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750813362274304"}
2024-05-21 10:54:37,802 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750813781704704"}
2024-05-21 10:54:37,899 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750814180163584"}
2024-05-21 10:54:37,994 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750814591205376"}
2024-05-21 10:54:38,100 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750815023218688"}
2024-05-21 10:54:38,202 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792750815463620608"}
2024-05-21 10:54:38,301 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDY0NzYsImlhdCI6MTcxNjI2MDA3Nn0.Q66FDovFDt1w9TwJnTyOjMyo2lq5tRVHVuDiV2_QU_VAcFA5Oon0GZtGgg1Q2keA_ZoujWstXt17s-uCy7ikfA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 10:54:38,607 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:54:38,797 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792750817103593472', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:54:38,861 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:54:38,931 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:54:38,994 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:54:39,099 - ERROR: 断言失败, 用例数据为{'ids': '1792750817103593472'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 10:54:39,831 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:54:40,022 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792750822266781696', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:54:40,087 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:54:40,152 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:54:40,212 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:54:40,311 - ERROR: 断言失败, 用例数据为{'ids': '1792750822266781696'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 10:55:26,944 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDY1MjUsImlhdCI6MTcxNjI2MDEyNX0.dqySn-Ve9_K3AdtGR1JDBsFFTHRhYsp89CEMAKikpqIN67Hq-lpzWVDcdi367GOqN32H0FTOhdlUWCsO0xjMpQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 10:55:27,003 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751020141461504"}
2024-05-21 10:55:27,100 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751020556697600"}
2024-05-21 10:55:27,199 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751020963545088"}
2024-05-21 10:55:27,301 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751021391364096"}
2024-05-21 10:55:27,401 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751021806600192"}
2024-05-21 10:55:27,498 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751022217641984"}
2024-05-21 10:55:27,589 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751022611906560"}
2024-05-21 10:55:27,682 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751022997782528"}
2024-05-21 10:55:27,782 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792751023413018624"}
2024-05-21 10:55:27,875 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDY1MjYsImlhdCI6MTcxNjI2MDEyNn0.QCOWVsglWcMuY49aNyN_a1j0R-3i0vKkSQAKCQ0ARJmepxx1XDWPtuMCmBXscMdfuLg_ALpARX6-miLuh6SBdg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 10:55:28,160 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:55:28,339 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792751024981688320', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:55:28,404 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:55:28,464 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:55:28,525 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:55:28,629 - ERROR: 断言失败, 用例数据为{'ids': '1792751024981688320'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 10:55:29,364 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 10:55:29,553 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792751030027436032', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 10:55:29,619 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 10:55:29,677 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 10:55:29,745 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 10:55:29,852 - ERROR: 断言失败, 用例数据为{'ids': '1792751030027436032'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:02:21,959 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDY5NDAsImlhdCI6MTcxNjI2MDU0MH0.Z7ReDfDYAKCcoQk93F00FtQwpGogvClqUFezP2o7qht6KfoYtI7Q9glNbtW0otReIGpZu7g0l46NGdOHXa3xrQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 11:02:22,017 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752760819564544"}
2024-05-21 11:02:22,113 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752761218023424"}
2024-05-21 11:02:22,207 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752761616482304"}
2024-05-21 11:02:22,303 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752762027524096"}
2024-05-21 11:02:22,403 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752762430177280"}
2024-05-21 11:02:22,503 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752762853801984"}
2024-05-21 11:02:22,601 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752763260649472"}
2024-05-21 11:02:22,693 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752763654914048"}
2024-05-21 11:02:22,788 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792752764053372928"}
2024-05-21 11:02:22,889 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDY5NDEsImlhdCI6MTcxNjI2MDU0MX0.LvNiUWfCfip5UCPSIrMX5lAhLms3h6gfUg3Y_pT0r0l8BU5bAn_Lthnj35Tpmsid2e62goMekohvh3FdAPYdpA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 11:02:23,189 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:02:23,379 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792752765714317312', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:02:23,444 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:02:23,505 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:02:23,565 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:02:23,663 - ERROR: 断言失败, 用例数据为{'ids': '1792752765714317312'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:02:24,376 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:02:24,556 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792752770697150464', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:02:24,618 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:02:24,680 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:02:24,742 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:02:24,844 - ERROR: 断言失败, 用例数据为{'ids': '1792752770697150464'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:06:24,944 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDcxODMsImlhdCI6MTcxNjI2MDc4M30.2-53hz1lrM2JF_0qqGXp5xAZdb-dorJKWB32jYYseHpWqDLvZ0mxZhumFpQ9lazUxLKEGXrym1iX-wktyp30QA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 11:06:25,004 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753779968327680"}
2024-05-21 11:06:25,101 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753780370980864"}
2024-05-21 11:06:25,201 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753780794605568"}
2024-05-21 11:06:25,299 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753781209841664"}
2024-05-21 11:06:25,397 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753781616689152"}
2024-05-21 11:06:25,498 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753782031925248"}
2024-05-21 11:06:25,596 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753782451355648"}
2024-05-21 11:06:25,692 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753782849814528"}
2024-05-21 11:06:25,792 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792753783260856320"}
2024-05-21 11:06:25,889 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDcxODQsImlhdCI6MTcxNjI2MDc4NH0.Ko0JQ-rgabeXiVInusxg0-FIevuGWr4GKjaFHRJf-h52XBj2V8ghpVGCW6i43xTujUVHg1FGzzPJq3MIXNhAFg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 11:06:26,183 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:06:26,368 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792753784875663360', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:06:26,433 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:06:26,498 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:06:26,557 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:06:26,654 - ERROR: 断言失败, 用例数据为{'ids': '1792753784875663360'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:06:27,370 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:06:27,553 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792753789879468032', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:06:27,618 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:06:27,680 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:06:27,743 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:06:27,846 - ERROR: 断言失败, 用例数据为{'ids': '1792753789879468032'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:26:08,248 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDgzNjYsImlhdCI6MTcxNjI2MTk2Nn0.8tnYzGcorN6naTyt-PNhjF4gOTfenvcnEAT9oW6KaC1FQUXJCiOzoYshR7VcxP-VZXz0FwjQRGvqMcoydYyaCA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 11:26:08,308 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758743037919232"}
2024-05-21 11:26:08,406 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758743453155328"}
2024-05-21 11:26:08,503 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758743864197120"}
2024-05-21 11:26:08,601 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758744275238912"}
2024-05-21 11:26:08,697 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758744677892096"}
2024-05-21 11:26:08,796 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758745088933888"}
2024-05-21 11:26:08,893 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758745495781376"}
2024-05-21 11:26:08,990 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758745902628864"}
2024-05-21 11:26:09,084 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792758746301087744"}
2024-05-21 11:26:09,180 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDgzNjcsImlhdCI6MTcxNjI2MTk2N30.KKDNPLAEIvpJHlbvj3UEik6nGEsSgI_PLNgm4rhvRqOEJCr7JppQk_jZ1yfizU13pEKnZNdlnkZ0EAFwClKlyA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 11:26:09,470 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:26:09,650 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792758747890728960', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:26:09,721 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:26:09,783 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:26:09,849 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:26:09,946 - ERROR: 断言失败, 用例数据为{'ids': '1792758747890728960'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:26:10,645 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:26:10,833 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792758752806453248', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:26:10,903 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:26:10,966 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:26:11,027 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:26:11,124 - ERROR: 断言失败, 用例数据为{'ids': '1792758752806453248'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:33:39,757 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDg4MTgsImlhdCI6MTcxNjI2MjQxOH0.H4X8AUzXwe1PcEMV3u87iMQN_1gSAcdTJVr4w_NYfJr0slC1bys5-BYziuT2BeEGN-itfJGJ9qxxDrqYPDSllQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 11:33:39,823 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760636820701184"}
2024-05-21 11:33:39,924 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760637231742976"}
2024-05-21 11:33:40,028 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760637672144896"}
2024-05-21 11:33:40,131 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760638104158208"}
2024-05-21 11:33:40,231 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760638523588608"}
2024-05-21 11:33:40,336 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760638959796224"}
2024-05-21 11:33:40,440 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760639400198144"}
2024-05-21 11:33:40,543 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760639836405760"}
2024-05-21 11:33:40,646 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792760640260030464"}
2024-05-21 11:33:40,744 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDg4MTksImlhdCI6MTcxNjI2MjQxOX0.TQbicT5fzatlsfUIdWP9JyZDZAbIDFEr-muaHauqS1CUWeqREkOxgdOOL9udAMhMQzNn6ElFz4fvKNKPpCuL1g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 11:33:41,044 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:33:41,226 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792760641912586240', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:33:41,293 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:33:41,361 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:33:41,425 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:33:41,525 - ERROR: 断言失败, 用例数据为{'ids': '1792760641912586240'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:33:42,246 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:33:42,432 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792760646962528256', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:33:42,499 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:33:42,565 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:33:42,632 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:33:42,734 - ERROR: 断言失败, 用例数据为{'ids': '1792760646962528256'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:41:24,886 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDkyODMsImlhdCI6MTcxNjI2Mjg4M30.hTVmRDHNsJIUV6o-LCuWmlasoges8sMylwbOmWHWzbMg7E5qqk8gc83HXsWT9lC1zGziM3EFwlH3umL8LHN6cw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 11:41:24,958 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762587708932096"}
2024-05-21 11:41:25,063 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762588149334016"}
2024-05-21 11:41:25,163 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762588564570112"}
2024-05-21 11:41:25,265 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762588988194816"}
2024-05-21 11:41:25,369 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762589432791040"}
2024-05-21 11:41:25,472 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762589864804352"}
2024-05-21 11:41:25,579 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762590305206272"}
2024-05-21 11:41:25,682 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762590741413888"}
2024-05-21 11:41:25,784 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792762591169232896"}
2024-05-21 11:41:25,886 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDkyODQsImlhdCI6MTcxNjI2Mjg4NH0.jVs3x8bTJ3nXJu0z_FzhCg1H8qXYPCed9QDiMWEtBPFinuqWT7TAX66tP26jdfin_fvw4dA2tKMLiCPjNrpbCQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 11:41:26,188 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:41:26,382 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792762592851148800', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:41:26,449 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:41:26,523 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:41:26,589 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:41:26,692 - ERROR: 断言失败, 用例数据为{'ids': '1792762592851148800'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:41:27,423 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:41:27,614 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792762598031114240', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:41:27,679 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:41:27,750 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:41:27,823 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:41:27,925 - ERROR: 断言失败, 用例数据为{'ids': '1792762598031114240'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:47:11,867 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDk2MzAsImlhdCI6MTcxNjI2MzIzMH0.x3QL_6vW2AiRwxd1XM71iyQdBCnZaDQ2dioM2eZjTHhkc6hxAmo8pDsvxaDeEcF18BsoT3GcUwRaiF5afvEZWQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 11:47:11,927 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764042985619456"}
2024-05-21 11:47:12,029 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764043409244160"}
2024-05-21 11:47:12,131 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764043845451776"}
2024-05-21 11:47:12,234 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764044269076480"}
2024-05-21 11:47:12,331 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764044675923968"}
2024-05-21 11:47:12,436 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764045116325888"}
2024-05-21 11:47:12,543 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764045565116416"}
2024-05-21 11:47:12,646 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764046001324032"}
2024-05-21 11:47:12,750 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792764046429143040"}
2024-05-21 11:47:12,853 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNDk2MzEsImlhdCI6MTcxNjI2MzIzMX0.q3y2Isi-pLuK6KO0zfX3SbeUUHfjjZdJbL6ucCJ5o4A3rQGPFYXbOodg378ZHBp34uZSBfTAoae7gHgDlujIaQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 11:47:13,160 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:47:13,357 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792764048136224768', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:47:13,426 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:47:13,495 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:47:13,580 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:47:13,685 - ERROR: 断言失败, 用例数据为{'ids': '1792764048136224768'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 11:47:14,412 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 11:47:14,613 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792764053395881984', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 11:47:14,680 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 11:47:14,757 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 11:47:14,830 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 11:47:14,932 - ERROR: 断言失败, 用例数据为{'ids': '1792764053395881984'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:04:05,101 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTQyNDUsImlhdCI6MTcxNjI2Nzg0NX0.AJqja03D8EAbyAEU03CexaRRw90LsP-vxD0kvyIqoM9oNeSSwZ0kas0BfWPvg_3Fs4neLW8qsC6E_6cdJiOpog","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 13:04:05,101 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTQyNDUsImlhdCI6MTcxNjI2Nzg0NX0.AJqja03D8EAbyAEU03CexaRRw90LsP-vxD0kvyIqoM9oNeSSwZ0kas0BfWPvg_3Fs4neLW8qsC6E_6cdJiOpog","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 13:04:05,165 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783398650003456"}
2024-05-21 13:04:05,165 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783398650003456"}
2024-05-21 13:04:05,261 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783399052656640"}
2024-05-21 13:04:05,261 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783399052656640"}
2024-05-21 13:04:05,358 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783399446921216"}
2024-05-21 13:04:05,358 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783399446921216"}
2024-05-21 13:04:05,460 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783399887323136"}
2024-05-21 13:04:05,460 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783399887323136"}
2024-05-21 13:04:05,558 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783400298364928"}
2024-05-21 13:04:05,558 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783400298364928"}
2024-05-21 13:04:05,667 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783400747155456"}
2024-05-21 13:04:05,667 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783400747155456"}
2024-05-21 13:04:05,765 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783401170780160"}
2024-05-21 13:04:05,765 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783401170780160"}
2024-05-21 13:04:05,870 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783401594404864"}
2024-05-21 13:04:05,870 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783401594404864"}
2024-05-21 13:04:05,968 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783402013835264"}
2024-05-21 13:04:05,968 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792783402013835264"}
2024-05-21 13:04:06,063 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTQyNDYsImlhdCI6MTcxNjI2Nzg0Nn0.Vf-cmZSCc7RRdz901-NFex9Fm28pjZ591WuZqhwFcB70N0jKY44Eiz_TVszy25-wBSugGTrWCGTVSjWY6i6R3A","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 13:04:06,063 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTQyNDYsImlhdCI6MTcxNjI2Nzg0Nn0.Vf-cmZSCc7RRdz901-NFex9Fm28pjZ591WuZqhwFcB70N0jKY44Eiz_TVszy25-wBSugGTrWCGTVSjWY6i6R3A","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 13:04:06,469 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:04:06,469 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:04:06,653 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792783404102598656', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:04:06,653 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792783404102598656', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:04:06,728 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:04:06,728 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:04:06,793 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:04:06,793 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:04:06,854 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:04:06,854 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:04:06,952 - ERROR: 断言失败, 用例数据为{'ids': '1792783404102598656'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:04:06,952 - ERROR: 断言失败, 用例数据为{'ids': '1792783404102598656'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:04:07,709 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:04:07,709 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:04:07,896 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792783409278369792', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:04:07,896 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792783409278369792', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:04:07,963 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:04:07,963 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:04:08,031 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:04:08,031 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:04:08,096 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:04:08,096 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:04:08,197 - ERROR: 断言失败, 用例数据为{'ids': '1792783409278369792'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:04:08,197 - ERROR: 断言失败, 用例数据为{'ids': '1792783409278369792'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:25:11,330 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTU1MTEsImlhdCI6MTcxNjI2OTExMX0.pckKof2r8-o6OpttJzopkZUuY7fWkdNQzBFAb5CJCoL4o4Eu3S3BnkWouOorTvvwTDgZhgZCt_siluUWaH9hUw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 13:25:11,388 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788709586780160"}
2024-05-21 13:25:11,487 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788709997821952"}
2024-05-21 13:25:11,582 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788710400475136"}
2024-05-21 13:25:11,682 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788710815711232"}
2024-05-21 13:25:11,777 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788711222558720"}
2024-05-21 13:25:11,872 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788711616823296"}
2024-05-21 13:25:11,969 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788712023670784"}
2024-05-21 13:25:12,064 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788712422129664"}
2024-05-21 13:25:12,162 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788712833171456"}
2024-05-21 13:25:12,261 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTU1MTIsImlhdCI6MTcxNjI2OTExMn0.DIrRRyfBSOCZG0FuMEpPfSqq6h3lIj4HNp3DS0pXMj0PW_KKuoH_6k9TtOkIVTzktVsOTxFFUiQjQvTURflJig","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 13:25:12,645 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:25:12,827 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792788714842243072', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:25:12,893 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:25:12,954 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:25:13,016 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:25:13,114 - ERROR: 断言失败, 用例数据为{'ids': '1792788714842243072'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:25:13,861 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:25:14,048 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792788719938322432', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:25:14,120 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:25:14,184 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:25:14,260 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:25:14,356 - ERROR: 断言失败, 用例数据为{'ids': '1792788719938322432'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:25:44,710 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTU1NDQsImlhdCI6MTcxNjI2OTE0NH0.EHMOF6OxMUE7FJb-_4637U01I-ALCfQ-1tj5R79AseS8DX7ZSu2rCxD8gFjd3-mYb8U-jtOtq6qxKvr9sIuOBw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 13:25:44,769 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788849596841984"}
2024-05-21 13:25:44,863 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788849995300864"}
2024-05-21 13:25:44,957 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788850389565440"}
2024-05-21 13:25:45,065 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788850838355968"}
2024-05-21 13:25:45,158 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788851228426240"}
2024-05-21 13:25:45,255 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788851635273728"}
2024-05-21 13:25:45,356 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788852054704128"}
2024-05-21 13:25:45,451 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788852461551616"}
2024-05-21 13:25:45,547 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792788852860010496"}
2024-05-21 13:25:45,650 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTU1NDUsImlhdCI6MTcxNjI2OTE0NX0.WlMN0XTVju5wl6CxiKy_TMlH912VS1sRFl9OZreEI2P1Os-rJ0LJcxQE0a0YeSgXS7UAVMbidLaORuYOEHwrGg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 13:25:46,035 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:25:46,222 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792788854890053632', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:25:46,290 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:25:46,352 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:25:46,412 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:25:46,511 - ERROR: 断言失败, 用例数据为{'ids': '1792788854890053632'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 13:25:47,225 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 13:25:47,400 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792788859889664000', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 13:25:47,468 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 13:25:47,527 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 13:25:47,586 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 13:25:47,682 - ERROR: 断言失败, 用例数据为{'ids': '1792788859889664000'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:04:43,828 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTc4ODIsImlhdCI6MTcxNjI3MTQ4Mn0.KC4p7QFydDDnYuO3usuQpEgHSJpdEB_1uXhM1PrWrqcLEbSZJHvAru4jhQmuQadW6XKc-rqTrzCGl1yuKHzIVw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:04:43,887 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798653727916032"}
2024-05-21 14:04:43,982 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798654138957824"}
2024-05-21 14:04:44,079 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798654541611008"}
2024-05-21 14:04:44,178 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798654956847104"}
2024-05-21 14:04:44,271 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798655342723072"}
2024-05-21 14:04:44,362 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798655728599040"}
2024-05-21 14:04:44,454 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798656114475008"}
2024-05-21 14:04:44,551 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798656512933888"}
2024-05-21 14:04:44,645 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792798656911392768"}
2024-05-21 14:04:44,747 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTc4ODMsImlhdCI6MTcxNjI3MTQ4M30.5eycCFgl0XO0BQ5OjWrl0nFzlVMD2ZO05K0U1tnh2SZ0w2F_gir0exZdTlugBoWWHvRCqpuwLORIJc72Njikng","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:04:45,049 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:04:45,234 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792798658584920064', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:04:45,301 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:04:45,361 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:04:45,423 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:04:45,526 - ERROR: 断言失败, 用例数据为{'ids': '1792798658584920064'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:07:05,946 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgwMjQsImlhdCI6MTcxNjI3MTYyNH0.F5fkoUBQZJRIOetGmPDFI2Z1LP_2IyUznvHjd6fAKNlLVwgPJGRJ-Y-2noFVW03UY_LA9FczSmaq2sr3ZaZ5Lw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:07:06,006 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799249814011904"}
2024-05-21 14:07:06,114 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799250266996736"}
2024-05-21 14:07:06,209 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799250669649920"}
2024-05-21 14:07:06,312 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799251097468928"}
2024-05-21 14:07:06,416 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799251529482240"}
2024-05-21 14:07:06,516 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799251953106944"}
2024-05-21 14:07:06,613 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799252364148736"}
2024-05-21 14:07:06,711 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799252770996224"}
2024-05-21 14:07:06,804 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799253161066496"}
2024-05-21 14:07:06,895 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgwMjUsImlhdCI6MTcxNjI3MTYyNX0.WC7g692ozPmTdijCDz2o5AyeOr1-_TuAgCsZ44MBQCcegl59-iwiOIeuQuleJSCoXn45VORdNNn9JOIHBcYyqA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:07:07,203 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:07:07,391 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792799254826205184', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:07:07,458 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:07:07,519 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:07:07,579 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:07:07,679 - ERROR: 断言失败, 用例数据为{'ids': '1792799254826205184'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:08:18,202 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgwOTYsImlhdCI6MTcxNjI3MTY5Nn0.6oApf7f-A8q_agCrR3Hx2dAAGkbRbZx5j17KIz76_QMDJ8wdmosi_97oqFvyAC8SsoKVej6GLJHsYKxNLZSoTA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:08:18,259 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799552860864512"}
2024-05-21 14:08:18,355 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799553267712000"}
2024-05-21 14:08:18,456 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799553687142400"}
2024-05-21 14:08:18,557 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799554110767104"}
2024-05-21 14:08:18,650 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799554500837376"}
2024-05-21 14:08:18,745 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799554903490560"}
2024-05-21 14:08:18,836 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799555293560832"}
2024-05-21 14:08:18,930 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799555675242496"}
2024-05-21 14:08:19,024 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799556073701376"}
2024-05-21 14:08:19,118 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgwOTcsImlhdCI6MTcxNjI3MTY5N30.lSPVjUMO7s-ka2grqpgJMOL7ToFsRpef5kWwM1T5p7K4i8MsYqHFRdm2TzDA3n_08NznLS_PnNzOlrneca3y-Q","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:08:19,431 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:08:19,684 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792799557764005888', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:08:19,745 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:08:19,810 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:08:19,874 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:08:19,975 - ERROR: 断言失败, 用例数据为{'ids': '1792799557764005888'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:08:20,690 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:08:20,874 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792799563048828928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:08:20,936 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:08:20,996 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:08:21,058 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:08:21,166 - ERROR: 断言失败, 用例数据为{'ids': '1792799563048828928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:09:20,544 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgxNTgsImlhdCI6MTcxNjI3MTc1OH0.TmkLh7Qn_TLGpfSZTVHI3u0s_jJFtLGuB_mqe9gsQ8aM-Uqosh0Mokb3xhMz0hVx0k0QMZouJY8Feq76fmb01g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:09:20,624 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799814434439168"}
2024-05-21 14:09:20,728 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799814870646784"}
2024-05-21 14:09:20,831 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799815311048704"}
2024-05-21 14:09:20,932 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799815738867712"}
2024-05-21 14:09:21,037 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799816170881024"}
2024-05-21 14:09:21,139 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799816602894336"}
2024-05-21 14:09:21,240 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799817026519040"}
2024-05-21 14:09:21,342 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799817454338048"}
2024-05-21 14:09:21,453 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792799817911517184"}
2024-05-21 14:09:21,558 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgxNTksImlhdCI6MTcxNjI3MTc1OX0.iWrvpj_hV7yZKoJxykTDZ3tk_I5G_eczWn3ddE1SMG8mAcbqXDJaH2uvLCgWD9rVTz_XoWNXUjvklQ-rQ8UmpA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:09:21,878 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:09:22,071 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792799819677319168', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:09:22,142 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:09:22,215 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:09:22,290 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:09:22,399 - ERROR: 断言失败, 用例数据为{'ids': '1792799819677319168'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:09:23,137 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:09:23,340 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792799824953753600', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:09:23,413 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:09:23,488 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:09:23,559 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:09:23,667 - ERROR: 断言失败, 用例数据为{'ids': '1792799824953753600'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:12:47,339 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgzNjUsImlhdCI6MTcxNjI3MTk2NX0.-sigP030lhhhQt-84jwPGFYAMtQeCs4pKAMZUnNnwuJLtc00GaslAE_r20MPK2EECMJqToKkUTtz9M3OLeWNag","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:12:47,412 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800681761980416"}
2024-05-21 14:12:47,516 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800682202382336"}
2024-05-21 14:12:47,622 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800682646978560"}
2024-05-21 14:12:47,731 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800683095769088"}
2024-05-21 14:12:47,841 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800683565531136"}
2024-05-21 14:12:47,940 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800683980767232"}
2024-05-21 14:12:48,039 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800684396003328"}
2024-05-21 14:12:48,141 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800684819628032"}
2024-05-21 14:12:48,247 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792800685268418560"}
2024-05-21 14:12:48,349 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTgzNjYsImlhdCI6MTcxNjI3MTk2Nn0.fbNgWCgpeWLnlosIODrkV1fGvjYY8G_I5Swo7tcTEVQetgco15qjgU4r5Vno4o8jCnr8zh6Wlxu6heR258RMkA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:12:48,647 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:12:48,837 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792800686933557248', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:12:48,905 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:12:48,971 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:12:49,036 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:12:49,149 - ERROR: 断言失败, 用例数据为{'ids': '1792800686933557248'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:12:49,891 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:12:50,085 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792800692126105600', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:12:50,155 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:12:50,225 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:12:50,300 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:12:50,411 - ERROR: 断言失败, 用例数据为{'ids': '1792800692126105600'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:17:01,687 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg2MjAsImlhdCI6MTcxNjI3MjIyMH0.XhSoSCgFL6-VTbjdC8HipAsBGHZ-uB-jz62PwoqpB4fo_KzTtoEaXC2xcKPDYF7I7oQY5mopYegaFcMjxNUMew","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:17:01,760 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801748562231296"}
2024-05-21 14:17:01,866 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801749006827520"}
2024-05-21 14:17:01,975 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801749464006656"}
2024-05-21 14:17:02,080 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801749900214272"}
2024-05-21 14:17:02,183 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801750336421888"}
2024-05-21 14:17:02,281 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801750747463680"}
2024-05-21 14:17:02,380 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801751158505472"}
2024-05-21 14:17:02,483 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801751590518784"}
2024-05-21 14:17:02,589 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792801752035115008"}
2024-05-21 14:17:02,693 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg2MjEsImlhdCI6MTcxNjI3MjIyMX0.x7DzK2M3Tfj7gTlOrSy6N-wNTuUzDzsbzJ3k44k-dKb4VYHNTV9qA7EYjxqjBhSZNUXdmQP4qEh_RqndQri9AA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:17:03,004 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:17:03,202 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792801753763168256', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:17:03,273 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:17:03,339 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:17:03,408 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:17:03,516 - ERROR: 断言失败, 用例数据为{'ids': '1792801753763168256'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:17:04,240 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:17:04,431 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792801758947328000', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:17:04,505 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:17:04,587 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:17:04,658 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:17:04,773 - ERROR: 断言失败, 用例数据为{'ids': '1792801758947328000'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:23:18,810 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTcsImlhdCI6MTcxNjI3MjU5N30.sY4lvg3FdRhPw7aTY0jx3ZeN03MQbTx1bARhQIZP2H41KaUr83P2Q4MTt-AKuPxQxYsVlEOH9rPkM0X7HhxEJA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:23:18,884 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803330313961472"}
2024-05-21 14:23:18,989 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803330750169088"}
2024-05-21 14:23:19,091 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803331177988096"}
2024-05-21 14:23:19,202 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803331643555840"}
2024-05-21 14:23:19,305 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332075569152"}
2024-05-21 14:23:19,407 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332507582464"}
2024-05-21 14:23:19,515 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803332960567296"}
2024-05-21 14:23:19,625 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803333417746432"}
2024-05-21 14:23:19,736 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792803333887508480"}
2024-05-21 14:23:19,843 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTg5OTgsImlhdCI6MTcxNjI3MjU5OH0.4JgpWuf9sSQnYV9dPIhf0I76OkCqUlLws0abjIB0nEM_iXrT2qd79jiUvk3kiwUvDIw9aHYQdvVjAFq8AQLNCw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:23:22,073 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDAsImlhdCI6MTcxNjI3MjYwMH0.atAGdmkk-bhC9iAhggDWp0VlgVLl39hN3_u2ytWqmjm1GWT-vhDYRgCax56GrBuR6EkPJEseXgX-S8EfzoWXhg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:23:24,144 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDIsImlhdCI6MTcxNjI3MjYwMn0.2ULfoTRcxys6pnuEKjHxZH4GI20D2qBisJFYoBn2GdZLw23Xapl1u2ATzI1w5cFlBcJf3_bFyVN7eo7OfOOMUg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:23:26,214 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDQsImlhdCI6MTcxNjI3MjYwNH0.TOXPdeAD96XQ_Maa-ITQDDQZTnKhlW09esTDC6-C8_Wux9HSk3bWURoOvhmcidK-lCj4Tvw1ZO0dYFWGR8-lsg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:23:28,294 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDYsImlhdCI6MTcxNjI3MjYwNn0.W_ynWuu-79lzZS5ScuftmKzI8_B3z3llQ0gnSpahTsvIdUBKeaos4loXKk4DrzU4CGbchLTa5lK48yzcFXXQoA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:23:30,382 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkwMDgsImlhdCI6MTcxNjI3MjYwOH0.LsIqI6NBfMYmLfeFQHaiE3TLchmrNO9P3P92GkiuQQoiDTEXfelTGerbpaF-Qp4K4_45jG2cACLNB8dNwS0m-w","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:23:30,533 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:23:30,722 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:32,930 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:35,147 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:37,354 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:39,564 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:41,778 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803379156631552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:41,847 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:23:41,910 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:23:41,976 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:23:42,079 - ERROR: 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:23:44,185 - ERROR: 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803436442435584"}
2024-05-21 14:23:46,340 - ERROR: 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803445468577792"}
2024-05-21 14:23:48,501 - ERROR: 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803454528274432"}
2024-05-21 14:23:50,659 - ERROR: 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803463587971072"}
2024-05-21 14:23:52,816 - ERROR: 断言失败, 用例数据为{'ids': '1792803379156631552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803472635084800"}
2024-05-21 14:23:53,535 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:23:53,718 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:55,928 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:23:58,138 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:24:00,340 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:24:02,541 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:24:04,740 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792803475629817856', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:24:04,808 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:24:04,872 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:24:04,938 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:24:05,053 - ERROR: 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:24:07,173 - ERROR: 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803532844318720"}
2024-05-21 14:24:09,327 - ERROR: 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803541883043840"}
2024-05-21 14:24:11,490 - ERROR: 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803550955323392"}
2024-05-21 14:24:13,660 - ERROR: 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803560044380160"}
2024-05-21 14:24:15,816 - ERROR: 断言失败, 用例数据为{'ids': '1792803475629817856'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792803569104076800"}
2024-05-21 14:28:26,503 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDQsImlhdCI6MTcxNjI3MjkwNH0.C8WP_0J0SBV9OWfFZ74hcZa9NskiZ4QPLLSt24uLPT5lDvXBrx3dj89QFxV80Ce8Hb5plEci35LpKNbUkNbVtQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:28:26,563 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804620792250368"}
2024-05-21 14:28:26,671 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804621257818112"}
2024-05-21 14:28:26,769 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804621660471296"}
2024-05-21 14:28:26,865 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804622067318784"}
2024-05-21 14:28:26,954 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804622449000448"}
2024-05-21 14:28:27,054 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804622860042240"}
2024-05-21 14:28:27,152 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804623266889728"}
2024-05-21 14:28:27,249 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804623677931520"}
2024-05-21 14:28:27,347 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804624088973312"}
2024-05-21 14:28:27,443 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDUsImlhdCI6MTcxNjI3MjkwNX0.aiOImGv7LixjzIi01Iyg8uBwtma-xdc40aSJEOce5Cgg550RmLDq6iiEkUz7U-JsDrqTI1LwYEAkdUSu1M7MyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:28:27,675 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDYsImlhdCI6MTcxNjI3MjkwNn0.QJxlGlSWoQKKYLwfkf9mX9V2lTjQ4sXkPiCm_PTEyrOFG_suBCWPjpevdpTENBuUElC3qSpN2l-R-kdebxnCkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:28:27,737 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDYsImlhdCI6MTcxNjI3MjkwNn0.QJxlGlSWoQKKYLwfkf9mX9V2lTjQ4sXkPiCm_PTEyrOFG_suBCWPjpevdpTENBuUElC3qSpN2l-R-kdebxnCkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:28:27,797 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDYsImlhdCI6MTcxNjI3MjkwNn0.QJxlGlSWoQKKYLwfkf9mX9V2lTjQ4sXkPiCm_PTEyrOFG_suBCWPjpevdpTENBuUElC3qSpN2l-R-kdebxnCkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:28:27,857 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDYsImlhdCI6MTcxNjI3MjkwNn0.QJxlGlSWoQKKYLwfkf9mX9V2lTjQ4sXkPiCm_PTEyrOFG_suBCWPjpevdpTENBuUElC3qSpN2l-R-kdebxnCkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:28:27,925 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzMDYsImlhdCI6MTcxNjI3MjkwNn0.QJxlGlSWoQKKYLwfkf9mX9V2lTjQ4sXkPiCm_PTEyrOFG_suBCWPjpevdpTENBuUElC3qSpN2l-R-kdebxnCkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:28:28,079 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:28:28,257 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804627146620928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:28,446 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804627146620928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:28,637 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804627146620928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:28,825 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804627146620928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:29,012 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804627146620928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:29,201 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804627146620928', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:29,279 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:28:29,338 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:28:29,402 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:28:29,503 - ERROR: 断言失败, 用例数据为{'ids': '1792804627146620928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:28:29,603 - ERROR: 断言失败, 用例数据为{'ids': '1792804627146620928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804633538740224"}
2024-05-21 14:28:29,745 - ERROR: 断言失败, 用例数据为{'ids': '1792804627146620928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804634142720000"}
2024-05-21 14:28:29,890 - ERROR: 断言失败, 用例数据为{'ids': '1792804627146620928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804634742505472"}
2024-05-21 14:28:30,028 - ERROR: 断言失败, 用例数据为{'ids': '1792804627146620928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804635338096640"}
2024-05-21 14:28:30,168 - ERROR: 断言失败, 用例数据为{'ids': '1792804627146620928'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804635916910592"}
2024-05-21 14:28:30,898 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:28:31,088 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804638953586688', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:31,274 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804638953586688', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:31,462 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804638953586688', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:31,649 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804638953586688', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:31,837 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804638953586688', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:32,033 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804638953586688', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:28:32,113 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:28:32,180 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:28:32,243 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:28:32,343 - ERROR: 断言失败, 用例数据为{'ids': '1792804638953586688'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:28:32,443 - ERROR: 断言失败, 用例数据为{'ids': '1792804638953586688'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804645458952192"}
2024-05-21 14:28:32,583 - ERROR: 断言失败, 用例数据为{'ids': '1792804638953586688'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804646050349056"}
2024-05-21 14:28:32,728 - ERROR: 断言失败, 用例数据为{'ids': '1792804638953586688'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804646650134528"}
2024-05-21 14:28:32,875 - ERROR: 断言失败, 用例数据为{'ids': '1792804638953586688'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804647270891520"}
2024-05-21 14:28:33,022 - ERROR: 断言失败, 用例数据为{'ids': '1792804638953586688'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792804647891648512"}
2024-05-21 14:29:40,452 - ERROR: 执行的功能为:__init__, 功能的描述为:链接数据库,获取链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test60\test60\InterfaceAutoTest\common\db.py, 所在行为:18, 错误为:(2003, "Can't connect to MySQL server on '120.46.172.186' (timed out)")
2024-05-21 14:29:43,453 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:29:43,636 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804943275507712', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:29:43,701 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:29:43,763 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:29:43,831 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:29:43,931 - ERROR: 断言失败, 用例数据为{'ids': '1792804943275507712'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:29:47,315 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzODUsImlhdCI6MTcxNjI3Mjk4NX0.XNihHVKsSXesDSHj4iNJH_ztHuwVBX4PhrUDonNWyMevahjedeR3upJzX4I-C9kunBM6_OA6Ukxdo0dZdhBGAQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:29:47,375 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804959738150912"}
2024-05-21 14:29:47,478 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804960174358528"}
2024-05-21 14:29:47,578 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804960597983232"}
2024-05-21 14:29:47,681 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804961017413632"}
2024-05-21 14:29:47,779 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804961436844032"}
2024-05-21 14:29:47,875 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804961839497216"}
2024-05-21 14:29:47,976 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804962267316224"}
2024-05-21 14:29:48,071 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804962661580800"}
2024-05-21 14:29:48,162 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792804963051651072"}
2024-05-21 14:29:48,262 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTkzODYsImlhdCI6MTcxNjI3Mjk4Nn0.lCXiajZWWr3tyKw6HDEEsfKgOn8A6OrzLuNDu2Ngidbr7kHTttQcvWSWJFpEz_QDJe-ljrGMwEJ7NshoAYg_eQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:29:48,577 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:29:48,762 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804964771315712', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:29:48,827 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:29:48,889 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:29:48,952 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:29:49,051 - ERROR: 断言失败, 用例数据为{'ids': '1792804964771315712'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:29:49,761 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:29:49,938 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792804969733177344', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:29:50,003 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:29:50,067 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:29:50,129 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:29:50,223 - ERROR: 断言失败, 用例数据为{'ids': '1792804969733177344'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:30:33,698 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk0MzIsImlhdCI6MTcxNjI3MzAzMn0.ZfaeVuPmOxa4VPVkIjqrapkdOHANeEbO-DmW4G7of-LGjUkUtFiWyB7ZoBLw3sMeH6k3NEIKZ--gqr9oWEvWxw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:30:33,753 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805154269970432"}
2024-05-21 14:30:33,853 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805154685206528"}
2024-05-21 14:30:33,954 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805155104636928"}
2024-05-21 14:30:34,054 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805155528261632"}
2024-05-21 14:30:34,149 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805155930914816"}
2024-05-21 14:30:34,275 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805156455202816"}
2024-05-21 14:30:34,372 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805156866244608"}
2024-05-21 14:30:34,472 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805157277286400"}
2024-05-21 14:30:34,570 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805157688328192"}
2024-05-21 14:30:34,666 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk0MzMsImlhdCI6MTcxNjI3MzAzM30._FtSBF-29C-RqBFXc1D9HNjHtgdJdbQkhJ5LSPH-JqqW1PjdAz3EcvQ5KHpEA2FyhPlwX1rfheYqgcvCjgiaRQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:30:34,973 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:30:35,153 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805159366049792', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:30:35,222 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:30:35,281 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:30:35,341 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:30:35,437 - ERROR: 断言失败, 用例数据为{'ids': '1792805159366049792'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:30:36,149 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:30:36,327 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805164298551296', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:30:36,392 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:30:36,452 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:30:36,521 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:30:36,617 - ERROR: 断言失败, 用例数据为{'ids': '1792805164298551296'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:31:32,585 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk0OTAsImlhdCI6MTcxNjI3MzA5MH0.HorxGb0zuhHTi9zH6Y0trEOgyUqlvijfg5SmTc31gysD-4ramCOJvt7nmGmBFyyCozQpekdcUZYiSqL4KyoTQA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:31:32,642 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805401259950080"}
2024-05-21 14:31:32,739 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805401670991872"}
2024-05-21 14:31:32,835 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805402069450752"}
2024-05-21 14:31:32,930 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805402472103936"}
2024-05-21 14:31:33,025 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805402866368512"}
2024-05-21 14:31:33,116 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805403256438784"}
2024-05-21 14:31:33,210 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805403642314752"}
2024-05-21 14:31:33,311 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805404061745152"}
2024-05-21 14:31:33,412 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805404485369856"}
2024-05-21 14:31:33,510 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk0OTEsImlhdCI6MTcxNjI3MzA5MX0.bnO_8hOqOZwtAMdwr6xW1Pb2sc1ASQHmS0QGefr0_avzRFmYlY4QcTdf93rRgxqiTfBEm82VLpK-VQ-z0NdcYA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:31:33,856 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:31:34,041 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805406335057920', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:31:34,111 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:31:34,175 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:31:34,237 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:31:34,335 - ERROR: 断言失败, 用例数据为{'ids': '1792805406335057920'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:31:34,755 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:31:34,939 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805410109931520', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:31:35,007 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:31:35,068 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:31:35,133 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:31:35,234 - ERROR: 断言失败, 用例数据为{'ids': '1792805410109931520'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:32:29,578 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDcsImlhdCI6MTcxNjI3MzE0N30.P0GB9kl7xkr8nKb44i3w7sGvV9oBNhPCfN0_S6OMmeGWzMg6zWjr4i4KT95jkDNny7wwJwx8hmLujAJb_Jm-IQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:32:29,635 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805640297529344"}
2024-05-21 14:32:29,736 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805640721154048"}
2024-05-21 14:32:29,831 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805641136390144"}
2024-05-21 14:32:29,930 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805641547431936"}
2024-05-21 14:32:30,032 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805641971056640"}
2024-05-21 14:32:30,128 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805642373709824"}
2024-05-21 14:32:30,220 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805642759585792"}
2024-05-21 14:32:30,313 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805643153850368"}
2024-05-21 14:32:30,413 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792805643564892160"}
2024-05-21 14:32:30,515 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDgsImlhdCI6MTcxNjI3MzE0OH0.30YI69bo9-GFISR7Q1wunOFUJeuUqBIV4PIClmLfgZ7vuJ6BB5vSJNumjHt7XIOgQf_xnFqRliYLdoQRfyGd8g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:32:30,730 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDksImlhdCI6MTcxNjI3MzE0OX0.yYHk7djJOV09OVePcnq2KWBxZVz84leidKW46DCoxCTtkZDCro_AN8oPa_ye1Rx3e_HJ34U7-lrErUcFwkqpMg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:32:30,788 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDksImlhdCI6MTcxNjI3MzE0OX0.yYHk7djJOV09OVePcnq2KWBxZVz84leidKW46DCoxCTtkZDCro_AN8oPa_ye1Rx3e_HJ34U7-lrErUcFwkqpMg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:32:30,846 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDksImlhdCI6MTcxNjI3MzE0OX0.yYHk7djJOV09OVePcnq2KWBxZVz84leidKW46DCoxCTtkZDCro_AN8oPa_ye1Rx3e_HJ34U7-lrErUcFwkqpMg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:32:30,915 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDksImlhdCI6MTcxNjI3MzE0OX0.yYHk7djJOV09OVePcnq2KWBxZVz84leidKW46DCoxCTtkZDCro_AN8oPa_ye1Rx3e_HJ34U7-lrErUcFwkqpMg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:32:31,294 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk1NDksImlhdCI6MTcxNjI3MzE0OX0.yYHk7djJOV09OVePcnq2KWBxZVz84leidKW46DCoxCTtkZDCro_AN8oPa_ye1Rx3e_HJ34U7-lrErUcFwkqpMg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:32:31,453 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:32:31,634 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805647922774016', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:31,821 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805647922774016', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:32,016 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805647922774016', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:32,209 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805647922774016', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:32,396 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805647922774016', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:32,582 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805647922774016', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:32,660 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:32:32,720 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:32:32,779 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:32:32,882 - ERROR: 断言失败, 用例数据为{'ids': '1792805647922774016'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:32:32,979 - ERROR: 断言失败, 用例数据为{'ids': '1792805647922774016'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805654335864832"}
2024-05-21 14:32:33,122 - ERROR: 断言失败, 用例数据为{'ids': '1792805647922774016'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805654918873088"}
2024-05-21 14:32:33,261 - ERROR: 断言失败, 用例数据为{'ids': '1792805647922774016'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805655514464256"}
2024-05-21 14:32:33,407 - ERROR: 断言失败, 用例数据为{'ids': '1792805647922774016'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805656122638336"}
2024-05-21 14:32:33,551 - ERROR: 断言失败, 用例数据为{'ids': '1792805647922774016'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805656722423808"}
2024-05-21 14:32:34,290 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:32:34,535 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805659809431552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:34,728 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805659809431552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:34,924 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805659809431552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:35,115 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805659809431552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:35,315 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805659809431552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:35,570 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792805659809431552', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:32:35,646 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:32:35,707 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:32:35,770 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:32:35,872 - ERROR: 断言失败, 用例数据为{'ids': '1792805659809431552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:32:35,980 - ERROR: 断言失败, 用例数据为{'ids': '1792805659809431552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805666889416704"}
2024-05-21 14:32:36,117 - ERROR: 断言失败, 用例数据为{'ids': '1792805659809431552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805667493396480"}
2024-05-21 14:32:36,262 - ERROR: 断言失败, 用例数据为{'ids': '1792805659809431552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805668097376256"}
2024-05-21 14:32:36,403 - ERROR: 断言失败, 用例数据为{'ids': '1792805659809431552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805668688773120"}
2024-05-21 14:32:36,581 - ERROR: 断言失败, 用例数据为{'ids': '1792805659809431552'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":false,"message":"","logId":"1792805669439553536"}
2024-05-21 14:35:47,313 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk3NDUsImlhdCI6MTcxNjI3MzM0NX0.9l1ciR6UA0bTsQre2C6zfVyaedhG9mlVHAZ8cUV6HyjkORvWqhcSAS7EPLtITjSIhULfxaDs6X7YGTlqqTYFzQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:35:47,373 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806469662425088"}
2024-05-21 14:35:47,481 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806470119604224"}
2024-05-21 14:35:47,582 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806470543228928"}
2024-05-21 14:35:47,680 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806470958465024"}
2024-05-21 14:35:47,779 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806471365312512"}
2024-05-21 14:35:47,875 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806471772160000"}
2024-05-21 14:35:47,973 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806472191590400"}
2024-05-21 14:35:48,070 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806472590049280"}
2024-05-21 14:35:48,169 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806473005285376"}
2024-05-21 14:35:48,261 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk3NDYsImlhdCI6MTcxNjI3MzM0Nn0.bBeWbSrJt0uUSUqYZqKt_gRmDpElGpyY21hfqkQXjQXm7epfYgkkvleY7ICEbfEhWPAbX1OTzEaQcbp7lhf-oA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:35:48,576 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:35:48,757 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792806474699784192', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:35:48,820 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:35:48,882 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:35:48,941 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:35:49,037 - ERROR: 断言失败, 用例数据为{'ids': '1792806474699784192'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:35:49,760 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:35:49,943 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792806479665840128', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:35:50,013 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:35:50,079 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:35:50,143 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:35:50,241 - ERROR: 断言失败, 用例数据为{'ids': '1792806479665840128'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:37:46,880 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk4NjUsImlhdCI6MTcxNjI3MzQ2NX0.whwuyyaFPxIbK5ooW79lk8MhTIdBIkJjg9nb58nii18g71lWjc-GBgOoWhaoSCbmmnkE2VO04XaCIg4tyVha9g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:37:46,937 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806971150188544"}
2024-05-21 14:37:47,039 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806971578007552"}
2024-05-21 14:37:47,137 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806971984855040"}
2024-05-21 14:37:47,230 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806972387508224"}
2024-05-21 14:37:47,327 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806972781772800"}
2024-05-21 14:37:47,423 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806973188620288"}
2024-05-21 14:37:47,524 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806973612244992"}
2024-05-21 14:37:47,622 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806974019092480"}
2024-05-21 14:37:47,721 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792806974446911488"}
2024-05-21 14:37:47,819 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk4NjYsImlhdCI6MTcxNjI3MzQ2Nn0.oDAgA0pp5uIzsNlNQEx3yrytfpzH7qazih1m8Vf_rbjvIfVLF-8y8HEkYrSTAs8XQk6PbRTnw_7BynYmpcsTlA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:37:48,129 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:37:48,311 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792806976128827392', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:37:48,383 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:37:48,444 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:37:48,505 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:37:48,603 - ERROR: 断言失败, 用例数据为{'ids': '1792806976128827392'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:37:49,327 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:37:49,515 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792806981132632064', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:37:49,585 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:37:49,647 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:37:49,710 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:37:49,808 - ERROR: 断言失败, 用例数据为{'ids': '1792806981132632064'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:39:24,110 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk5NjIsImlhdCI6MTcxNjI3MzU2Mn0.e9-56b55A-O3AFsuOaZTjHhvCIGCl4jXMHvnw9RN0GIwtGkAGcEV_4720VYNzf8bN9qM_tKcjhIlp3tNOT5o7w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:39:24,166 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807378958172160"}
2024-05-21 14:39:24,263 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807379360825344"}
2024-05-21 14:39:24,362 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807379767672832"}
2024-05-21 14:39:24,460 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807380187103232"}
2024-05-21 14:39:24,558 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807380593950720"}
2024-05-21 14:39:24,651 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807380992409600"}
2024-05-21 14:39:24,755 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807381424422912"}
2024-05-21 14:39:24,848 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807381818687488"}
2024-05-21 14:39:24,942 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807382208757760"}
2024-05-21 14:39:25,041 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNTk5NjMsImlhdCI6MTcxNjI3MzU2M30.eLYokWZgvqckUxBqAh7DIz_9BvZjmh7a-HhZlRInwqPAkWiTx2sd5HUm3TqDx2400e0GNKmf725MKyqcKxgByw","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:39:25,338 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:39:25,515 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792807383848730624', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:39:25,581 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:39:25,641 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:39:25,703 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:39:25,800 - ERROR: 断言失败, 用例数据为{'ids': '1792807383848730624'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:39:26,521 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:39:26,707 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792807388814786560', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:39:26,775 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:39:26,836 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:39:26,899 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:39:26,998 - ERROR: 断言失败, 用例数据为{'ids': '1792807388814786560'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:40:17,141 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2'}, 期望数据为:{'username': '超级管理员', 'loginStatus': True, 'account': 'admin'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNjAwMTUsImlhdCI6MTcxNjI3MzYxNX0.02N-J0bB50MjTvpRalWWOJFNg8O6PRV_UzDqAPzDq8s8zZcs2tEWZYPOsOCQByEjj3kE27rX5xBoKkSV2jZR3w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
2024-05-21 14:40:17,202 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': ''}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807601398890496"}
2024-05-21 14:40:17,308 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807601847681024"}
2024-05-21 14:40:17,403 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': 'm'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807602241945600"}
2024-05-21 14:40:17,503 - ERROR: 断言成功, 用例数据为{'username': 'admin', 'password': '☯㍿卍卐'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807602661376000"}
2024-05-21 14:40:17,602 - ERROR: 断言成功, 用例数据为{'username': '', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807603076612096"}
2024-05-21 14:40:17,704 - ERROR: 断言成功, 用例数据为{'username': 'adminadminadminadmin', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807603504431104"}
2024-05-21 14:40:17,802 - ERROR: 断言成功, 用例数据为{'username': 'a', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807603915472896"}
2024-05-21 14:40:17,899 - ERROR: 断言成功, 用例数据为{'username': '☯㍿卍卐', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807604322320384"}
2024-05-21 14:40:17,995 - ERROR: 断言成功, 用例数据为{'username': 'admin123', 'password': 'MTIzNDU2'}, 期望数据为:{'message': '账号或密码错误'}, 服务器返回的数据为:{"state":false,"message":"账号或密码错误","logId":"1792807604724973568"}
2024-05-21 14:40:18,089 - ERROR: 断言失败, 用例数据为None, 期望数据为:{'message': '刷新token成功'}, 服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MTYzNjAwMTYsImlhdCI6MTcxNjI3MzYxNn0.sB15ZPc06UhFBx3PdnhlDCLk0ESrIUnsVWWPN9ffDjf3UtjyEXcxJDBJpHKl_0G9PRD3zP43TbCaaju5nE5rxA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
2024-05-21 14:40:18,399 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:40:18,601 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792807606402695168', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:40:18,667 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:40:18,727 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:40:18,789 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:40:18,886 - ERROR: 断言失败, 用例数据为{'ids': '1792807606402695168'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
2024-05-21 14:40:19,598 - ERROR: 断言成功, 用例数据为{'code': 'api_auto_test_add_dem', 'description': 'api_auto_test_add_dem', 'isDefault': 0, 'name': 'api_auto_test_add_dem'}, 期望数据为:{'message': '添加维度成功!'}, 服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":""}
2024-05-21 14:40:19,790 - ERROR: 断言失败, 用例数据为{'code': 'test_add_org', 'demId': '1792807611435859968', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据为:{'message': '添加组织成功'}, 服务器返回的数据为:{"state":true,"message":"添加组织成功!","value":""}
2024-05-21 14:40:19,856 - ERROR: 断言成功, 用例数据为{'orgCode': 'test_add_org', 'accounts': 'admin'}, 期望数据为:{'state': True, 'message': '加入成功', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"加入成功","value":""}
2024-05-21 14:40:19,917 - ERROR: 断言成功, 用例数据为{'query': {'orgCode': 'test_add_org'}, 'body': [{'alias': 'sz', 'value': 100}, {'alias': 'kc', 'value': '语文课'}]}, 期望数据为:{'state': True, 'message': '保存组织参数成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"保存组织参数成功!","value":""}
2024-05-21 14:40:19,982 - ERROR: 断言成功, 用例数据为test_add_org, 期望数据为:{'state': True, 'message': '删除组织成功!', 'value': ''}, 服务器返回的数据为:{"state":true,"message":"删除组织成功!","value":""}
2024-05-21 14:40:20,083 - ERROR: 断言失败, 用例数据为{'ids': '1792807611435859968'}, 期望数据为:{'message': '删除维度成功'}, 服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment