本帖最后由 草帽路飞UU 于 2022-9-23 16:28 编辑
造成中文乱码的原因:默认编码模式不是utf-8,查看html文件是输出的编码模式是utf-8,输入输出编码不一致导致中文出现乱码
排查过程:
1.想通过添加编码模式解决,失败了
源码:
with open("test_report.html","wb") as file:
修改后:with open("test_report.html","wb",encoding="utf-8") as file:
修改后运行代码会报错,原因是“wb”中的“b”代表的是使用二进制模式,二进制模式与encoding="utf-8"冲突,所以问题没有解决
2.想要通过去掉“b”解决冲突,失败了
源码:with open("test_report.html","w",encoding="utf-8") as file:
修改完成后运行代码没有报错,但是打开报告仍然中文乱码
3.查看html测试报告head为<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
head没问题这时候可以确定不是输出的问题
解决办法
1.点击进入HTMLTestrunner模块
2.进入reunner.py,在reunner.py中,给所有的open方法添加上 encoding=“utf-8“,完成后运行代码问题解决
|