[python田字格的输出]python输出htmltestrunner中文乱码如何解决

时间:2019-09-03  来源:python  阅读:

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

[python田字格的输出]python输出htmltestrunner中文乱码如何解决

http://m.bbyears.com/jiaocheng/65883.html

推荐访问:python输出九九乘法表 python换行输出
相关阅读 猜你喜欢
本类排行 本类最新