在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