在pytest.ini文件种添加以下内容:

[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support=True

 利用pytest的钩子函数,在conftest.py中添加如下函数

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")

此时可能会与html报告冲突,导致html报告中文乱码

解决办法:修改pytest_html目录下的result.py中的内容

 shell脚本(将pc_password修改为自己的密码,将result.py文件地址替换为自己的)

echo pc_password | sudo -S sed -i 's/self.test_id = report.nodeid.encode("utf-8").decode("unicode_escape")/self.test_id = report.nodeid/g' /usr/local/lib/python3.7/dist-packages/pytest_html/result.py

 

posted on 2024-01-04 11:29  会锻炼的猪  阅读(172)  评论(0编辑  收藏  举报