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码收集运行,文件中的用例从上往下顺序执行,

posted @ 2024-01-21 14:02  星钥无痕  阅读(365)  评论(1编辑  收藏  举报