最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python输出htmltestrunner中文乱码如何解决
时间:2014-12-29 编辑:简简单单 来源:一聚教程网
python unittest要产生一个可看的报告,需要借助一个第三方的包
下载HTMLTestRunner.py 第三方库 ,参考地址:http://tungwaiyip.info/software/HTMLTestRunner.html
是个牛人自己写的,真挺不错的,佩服佩服
下载后,文件拷贝到python工程的目录里,可以引用到就行
使用:
代码如下 | 复制代码 |
import lib.HTMLTestRunner from testDataDriver import Testdriver import time import sys,os reload(sys) sys.setdefaultencoding('utf-8') def htr(): runner = lib.HTMLTestRunner runner.run(suite) #自动进行测试 |
如果需要指定报告输出的名称和路径,可以按下列方式:
代码如下 | 复制代码 |
def htr(): #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述 runner = lib.HTMLTestRunner.HTMLTestRunner(stream=fp,title='API_test_'+str(localtimes),description='Report_description') runner.run(suite) #自动进行测试 |
报告显示中文乱码问题的解决方式
输出的报告中可能包含中文,需要确定一下HTMLTestRunner.py源文件的编码方式
首先确认在引用HTMLTestRunner的代码文件中设置编码
代码如下 | 复制代码 |
import sys reload(sys) sys.setdefaultencoding('utf-8') |
打开HTMLTestRunner.py源文件,找到如下行
代码如下 | 复制代码 |
# o and e should be byte string because they are collected from stdout and stderr? if isinstance(o,str): # TODO: some problem with 'string_escape': it escape n and mess up formating # uo = unicode(o.encode('string_escape')) #uo = o.decode('latin-1') else: uo = o if isinstance(e,str): # TODO: some problem with 'string_escape': it escape n and mess up formating # ue = unicode(e.encode('string_escape')) #ue = e.decode('latin-1') else: ue = e 添加utf-8的解码 # o and e should be byte string because they are collected from stdout and stderr? if isinstance(o,str): # TODO: some problem with 'string_escape': it escape n and mess up formating # uo = unicode(o.encode('string_escape')) #uo = o.decode('latin-1') uo = o.decode('utf-8') else: uo = o if isinstance(e,str): # TODO: some problem with 'string_escape': it escape n and mess up formating # ue = unicode(e.encode('string_escape')) #ue = e.decode('latin-1') ue = e.decode('utf-8') else: ue = e |
ok,按上述方式,中文乱码问题解决,it works
相关文章
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31
- php双向队列解读 10-31
- Laravel异常上下文解决教程 10-24
- php数组查询元素位置方法介绍 10-24