通过pip安装 HTMLTestRunne失败。则需要通过手动下载。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
PS:如果是新标签页打开,直接右键,另存为,文件保存到Python 安装路径下的lib文件夹中即可。
下载后,把HTMLTestRunner.py 文件复制到Python 安装路径下的lib文件夹中即可。
在python3中用HTMLTestRunner.py报importError“:No module named 'StringIO'解决办法
原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法。
第一种改法:
修改内容:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode('latin-1')修改成uo = e
第775行,将ue = e.decode('latin-1')修改成ue = e
第二种改法:
然后这个是不支持python3语法的,要自己改一下代码,具体更改如下;
第94行: import StringIO 改为 import io 第539行:self.outputBuffer = StringIO.StringIO() 改为self.outputBuffer = io.BytesIO() 第642行:if not rmap.has_key(cls): 改为 if not cls in rmap: 第772行:ue = e.decode('latin-1') 改成 ue = e 第776行:uo = o.decode ('latin-1') 改成 uo=o 第768行:uo = o 改成 uo = o.decode('utf-8') 第774行:ue = e 改成 ue = e.decode('utf-8') 第631行:print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime) 改成 print('\nTime Elapsed: %s' % (self.stopTime-self.startTime),file=sys.stderr) 第118行:self.fp.write(s) 改为 self.fp.write(bytes(s,'UTF-8'))
第三种:
TMLTestRunner_PY3下载地址:https://github.com/huilansame/HTMLTestRunner_PY3
这是一个直接支持Python3的HTMLTestRunner文件
这是一个直接支持Python3的HTMLTestRunner文件