HTMLTestRunner修改Python3的版本


在拜讀蟲師大神的Selenium2+Python2.7時,發現生成HTMLTestRunner的測試報告使用的HTMLTestRunner的模塊是用的Python2的語法。而我本人比較習慣與Python3。而且自己也是用的Python3.4的環境,在網上找了很多資料,修改了下HTMLTestRunner.py

參考:http://bbs.chinaunix.net/thread-4154743-1-1.html

下載地址:http://tungwaiyip.info/software/HTMLTestRunner.html

修改后HTMLTestRunner下載地址:http://pan.baidu.com/s/1tp3Ts

 

修改匯總:

第94行,將import StringIO修改成import io

第539行,將self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()

第642行,將if not rmap.has_key(cls):修改成if notcls in rmap:

第766行,將uo = o.decode(‘latin-1‘)修改成uo = e

第775行,將ue = e.decode(‘latin-1‘)修改成ue = e

第631行,將print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime))

 

在Python3.4下使用HTMLTestRunner,開始時,引入HTMLTestRunner模塊報錯。

bubuko.com,布布扣

 

在HTMLTestRunner的94行中,是使用的StringIO,但是Python3中,已經沒有StringIO了。取而代之的是io.StringIO。所以將此行修改成import io

bubuko.com,布布扣

在HTMLTestRunner的539行中,self.outputBuffer =StringIO.StringIO()修改成self.outputBuffer = io.StringIO()

修改以后,成功引入模塊了

bubuko.com,布布扣

 

運行測試腳本后,發現報錯:

File"C:\Python34\lib\HTMLTestRunner.py", line 642, in sortResult

if not rmap.has_key(cls):

所以前往642行修改代碼:

bubuko.com,布布扣

 

運行后繼續報錯:

AttributeError: ‘str‘ object has noattribute ‘decode‘

前往766,772行繼續修改(注意:766行是uo而772行是ue,當時眼瞎,沒有注意到這些,以為是一樣的,導致報了一些莫名其妙的錯誤,折騰的半天):

bubuko.com,布布扣

 

 

 

修改后運行,發現又報錯:

    File"C:\Python34\lib\HTMLTestRunner.py", line 631, in run

   print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)

TypeError: unsupported operand type(s)for >>: ‘builtin_function_or_method‘ and ‘_io.TextIOWrapper‘

前往631查看,發現整個程序中,唯一一個print:

print >> sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime

這個是2.x的寫法,咱們修改成3.x的print,修改如下:

print(sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime))

bubuko.com,布布扣

 

 

繼續運行腳本,OK運行成功

bubuko.com,布布扣

 

 

查看指定的目錄生成了result.html

bubuko.com,布布扣

 

點擊打開報告:

bubuko.com,布布扣

 

HTMLTestRunner修改Python3的版本

標簽:python

原文:http://hzqldjb.blog.51cto.com/9587820/1590802


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM