解决python3 HTMLTestRunner测试报告中文乱码的问题
使用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 unittest单元测试框架的使用
一.测试模型 下面这部分来自于某书籍资料,拿过来,按需参考一下: 测试模型 (1)线性测试 1.概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本.单纯的来模拟用户完整的操作场景.(操作,重复操作,数据)都混合在一起. 2.优点:每个脚本相对独立,且不产生其他依赖和调用.任何一个测试用例脚本拿出来都可以单独执行. 3.缺点:开发成本高,用例之间存在重复的操作.比如重复的用户登录和退出. 维护成本高,由于重复的操作,当重复的操作发生改变时,则需要逐一进行脚本的修改. 4.线性测试实例:用户
-
python自动化报告的输出用例详解
1.设计简单的用例 2.设计用例 以TestBaiduLinks.py命名 # coding:utf-8 from selenium import webdriver import unittest class BaiduLinks(unittest.TestCase): def setUp(self): base_url = 'https://www.baidu.com' self.driver = webdriver.Chrome() self.driver.implicitly_wait(
-
python使用 HTMLTestRunner.py生成测试报告
本文介绍了python使用 HTMLTestRunner.py生成测试报告 ,分享给大家,具体如下: HTMLTestRunner.py python 2版本 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 使用时,先建立一个"PyDev Package",将下载下来的HTMLTestRunner.py文件拷贝在该目录下. 例子:testcase5_dynamic.py import unittest from dev.
-
解决python3 HTMLTestRunner测试报告中文乱码的问题
使用HTMLTestRunner输出的测试报告中,标题和错误说明的中文乱码. 环境: python v3.6 HTMLTestRunner v0.8.2 定位问题 刚开始以为是python3对HTMLTestRunner文件兼容的问题.网上搜了一些解决办法基本都是说python2的,对比看了一下,我这边兼容性是可以的. 接下来,查看HTMLTestRunner文件输出,倒着去找,最后问题定位到: self.stream.write(output) 这一行,print(output)是正常输出中文
-
解决javaWEB中前后台中文乱码问题的3种方法
中文乱码问题真的是一个很棘手的问题,特别是从前台传到后台之后,都不知道问题出在哪里了.现在分享解决javaWEB中前后台中文乱码问题的3种方法. 方法一: tomcat的自带编码是ISO-8859-1的格式,是不兼容中文的编码的.所以我们从后台接收的时候要注意. 采用相同的格式去接收(ISO-8859-1),然后用能解析的编码(utf-8)去转换.这样我们就能得到能兼容中文的格式了.这样处理之后发往前台.注意:发往前台的时候也需要设置一下 resp.setContentType("text/ht
-
解决linux下vim中文乱码的方法
Vim编码的详细介绍 Vim和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括 UCS-2.UTF-8 等流行的 Unicode 编码方式. Vim 有四个跟字符编码方式有关的选项,encoding.fileencoding.fileencodings.termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们的意义如下: 1.encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buf
-
如何解决JQuery ajaxSubmit提交中文乱码
一般人使用是 jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data }); 分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据.因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据. 查看Header
-
Java 解决读写本地文件中文乱码的问题
Java 解决读写本地文件中文乱码的问题 前言: 在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码.原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式.通常,假如自己不修改的话,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),而IDE中Encode不修改的话,默认是utf-8的编码,这就是为什么会出现乱码的原因.当在OS下手工创建并写入的txt文件(gbk),用程序直接去读(utf-8),就会乱码.为了避免可
-
Java解决通信过程的中文乱码的问题
Java解决通信过程的中文乱码的问题 前言: Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号. 这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题. 如果文件一打开就乱码,可以通过修改软件的编码或者修改文件的编码就可以觉得这个问题.而若是在java的通信中,或者数据库操作之类的其他软件进程通信时,就容易产生乱码. 1.在网页中输出中文. JAVA在网络传输中使用的编码是"ISO-8859
-
解决Python3中的中文字符编码的问题
python3中str默认为Unicode的编码格式 Unicode是一32位编码格式,不适合用来传输和存储,所以必须转换成utf-8,gbk等等 所以在Python3中必须将str类型转换成bytes类型的 在Python中使用encode的方式可以进行字符的编码 实际用法: >>>a = "中国" >>> a.encode("utf-8") b'\xe4\xb8\xad\xe5\x9b\xbd' >>> a.
-
解决c++调用python中文乱码问题
windows中文操作系统下,vs的c++项目默认编码是GB2312 python默认是utf-8编码 最好在c++程序顶上加: #pragma execution_character_set("GB2312") c++中的字符串一定就是gbk编码 传入python前要做编码转换 准备一个gbk转utf8的函数,如下(网上的): string GbkToUtf8(const char* src_str) { int len = MultiByteToWideChar(CP_ACP, 0
-
解决IDEA的Terminal中文乱码问题
当我提交项目输入中文描述信息的时候,发现IDEA 的 Terminal无法显示中文信息,显示的是下面这样的 因为我的终端设置了git.bash窗口,所以我以为是git乱码问题,我打开gitBash输入,发现中文没有乱码,显示的是正常的,如下: 所以这应该是IDEA的问题,上网查了一下说需要在IDEA的安装路径找到idea.exe.vmoptions文件和idea64.exe.vmoptions文件,在其最后一行添加 -Dfile.encoding=UTF-8 然后重启IDEA,重新输入命令,发现
-
解决Devc++运行窗口中文乱码的实现步骤
目录 一.问题描述 二.问题的产生原因 三.解决问题的方法 (一)使用旧版控制台 (二)更改dev++的编码为ans (三)将运行窗口更改为utf-8 一.问题描述 当你打开DevC++,编写好代码,编译…运行…发现执行结果中的中文,变成乱码.就像下图一样. 怎么办怎么办该怎么办呢? 憋慌!听我说 二.问题的产生原因 大家总能在各种地方,出现乱码的问题.其实就是由于编码的不同所导致的.比如devc++的运行窗口中文乱码,其实是因为运行窗口的当前代码页编码为GBK,然而你的运行文件编码确实utf-
随机推荐
- utf-8 网页不显示+utf-8网页乱码的通用解决方法
- jsp实现Servlet文件下载的方法
- oracle 11g的警告日志和监听日志的删除方法
- JavaScript DOM节点添加示例
- JavaScript高级程序设计 阅读笔记(十九) js表格排序
- jQuery实现下拉加载功能实例代码
- 最丑的时钟效果!js canvas时钟制作方法
- Asp.net中Microsoft.Identity的IPasswordHasher加密的默认实现与运用
- 灵活使用Android中ActionBar和ViewPager切换页面
- 跟老齐学Python之print详解
- javascript通过url向jsp页面传递中文参数导致乱码解决方案
- linux脚本判断条件总结(必看)
- shell脚本实现拷贝大文件显示百分比的代码分享
- 优盘,移动硬盘插入usb或光驱放光盘为什么一卡就死机的正确原因分析
- android 选项卡(TabHost)如何放置在屏幕的底部
- Android自定义WheelView地区选择三级联动
- 深入介绍Java对象初始化
- PHP 数组遍历foreach语法结构及实例
- ES6关于Promise的用法详解
- vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】