51Testing软件测试论坛

标题: 【解决方案】HTMLTestRunner生成报告中有中文乱码解 [打印本页]

作者: 草帽路飞UU    时间: 2022-9-22 16:23
标题: 【解决方案】HTMLTestRunner生成报告中有中文乱码解
本帖最后由 草帽路飞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没问题这时候可以确定不是输出的问题



解决办法



[attach]143181[/attach]

1.点击进入HTMLTestrunner模块


[attach]143182[/attach]

2.进入reunner.py,在reunner.py中,给所有的open方法添加上 encoding=“utf-8“,完成后运行代码问题解决










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2