解决python3 HTMLTestRunner测试报告中文乱码的问题


Posted in Python onDecember 17, 2018

使用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测试报告中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python django 实现验证码的功能实例代码
May 18 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
python内置数据类型之列表操作
Nov 12 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
python调用支付宝支付接口流程
Aug 15 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 #Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 #Python
python实现三次样条插值
Dec 17 #Python
Python命名空间的本质和加载顺序
Dec 17 #Python
对python的unittest架构公共参数token提取方法详解
Dec 17 #Python
Python单元测试unittest的具体使用示例
Dec 17 #Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 #Python
You might like
destoon官方标签大全
2014/06/20 PHP
PHP单例模式详细介绍
2015/07/01 PHP
PHP常用技巧汇总
2016/03/04 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
python在windows下实现备份程序实例
2014/07/04 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
会计找工作求职信范文
2013/12/09 职场文书
创意广告词
2014/03/17 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
行政助理岗位职责
2015/02/10 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
Redis特殊数据类型bitmap位图
2022/06/01 Redis