草帽路飞UU 发表于 2022-9-22 16:23:26

【解决方案】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没问题这时候可以确定不是输出的问题


解决办法




1.点击进入HTMLTestrunner模块




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





页: [1]
查看完整版本: 【解决方案】HTMLTestRunner生成报告中有中文乱码解