时间:2021-05-22
使用HTMLTestRunner输出的测试报告中,标题和错误说明的中文乱码。
环境:
python v3.6
HTMLTestRunner v0.8.2
定位问题
刚开始以为是python3对HTMLTestRunner文件兼容的问题。网上搜了一些解决办法基本都是说python2的,对比看了一下,我这边兼容性是可以的。
接下来,查看HTMLTestRunner文件输出,倒着去找,最后问题定位到:
self.stream.write(output)这一行,print(output)是正常输出中文的,但是write()就是乱码。
其中,stream是运行生成报告时,传的stream参数,stream传空时,stream=sys.stdout,我这边传的是一个打开文件:
outfile = open(filename, 'w')那么问题就是,outfile.write(output)时中文乱码。
解决方案
* 有两种解决办法 *
1、打开写入文件时设置编码
outfile = open(filename, 'w', encoding='utf-8')2、打开文件时未设置编码,但写入方式设置为'wb';并且,output字符串encode()成utf-8编码。
以上这篇解决python3 HTMLTestRunner测试报告中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:在使用DDT数据驱动+HTMLTestRunner输出测试报告时遇到过2个问题:1、生成的测试报告中,用例名称后有dict()->newemptydict
Python中乱码问题是一个很头痛的问题。在Python3中,对中文进行了全面的支持,但在Python2.x中需要进行相关的设置才能使用中文。否则会出现乱码【问
Python3读取写入json的中文乱码问题之前我用django一般用JsonResponse来返回json数据格式但是发现返回中文的时候会乱码fromdjan
python3中用HTMLTestRunner.py报ImportError:Nomodulenamed'StringIO'的解决方法:1.原因是官网的是pyt
背景HTMLTestRunner生成测试报告后,发现点击view这个按钮一直没有反应通过F12开发人员工具检查,发现是jQuery文件没有加载出来解决方法我采用