pytest运行结果乱码处理
pytest终端打印结果,中文乱码,解决方式:
(我个人觉得第一种方式好)
第一种方式:在pytest.ini文件中添加一行代码:disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
第二种方式,conftest.py中添加钩子函数pytest_collection_modifyitems
def pytest_collection_modifyitems(items): # 解决运行结果乱码问题 for item in items: item.name = item.name.encode('UTF-8').decode('unicode-escape') item._nodeid = item.nodeid.encode('UTF-8').decode('unicode-escape')
pytest_collection_modifyitems有三个参数:
session:会话对象
config:配置对象
items:用例对象列表
pytest_collection_modifyitems函数除了可以处理乱码问题外还能修改测试用例的执行顺序
pytest默认执行顺序:项目下的文件名根据ascii码收集运行,文件中的用例从上往下顺序执行,