1. 程式人生 > >測試報告生成(四)

測試報告生成(四)

imp 根據 CI sed word 本地 ref tun fff

  使用python+selenium寫好測試代碼之後,對所要測試的web界面進行測試,測試完成之後,下一步需要考慮的就是如何將測試的結果信息生成測試報告。

  在網上找了好多資料,發現大家采用的時HTMLTestRunner.py進行測試報告的生成,下載地址

  一、修改HTMLTestRunner.py文件

  下載完後,發現此文件使用python2編寫,而本地使用的是python3,所以要對該代碼做出修改,修改內容為:

  1、94行,import StringIO修改為:import io,相應地539行改為:self.outputBuffer = io.BytesIO()

  2、118行,self.fp.write(s) 修改為 self.fp.write(bytes(s,‘UTF-8‘))

  3、631行,print >>sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)修改為 print(‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime),file=sys.stderr)

  4、642行,if not rmap.has_key(cls):修改為:if not cls in rmap:

  5、766行,uo = o.decode(‘latin-1‘)修改為 uo = o,768行,uo = o改為uo = o.decode(‘UTF-8‘)

    772行,ue = e.decode(‘latin-1‘)修改為 ue = e,774行,ue = e改為ue = e.decode(‘UTF-8‘)

  至於為什麽這樣修改,python3與python2有些語法不通,可根據出現的語法問題,進行定位。

  二、導入

  把HTMLTestRunner.py文件放置在python35下的lib文件夾下。

  如果本地的Python lib文件目錄無法找到,如圖示,將該文件拷入lib目錄

  技術分享圖片

  然後 import HTMLTestRunner,當輸入import時,就可看到有提示出現。

  三、代碼測試

 1 #coding=utf-8
2 from selenium import webdriver 3 from selenium.webdriver.common.by import By 4 from selenium.webdriver.support.ui import Select 5 6 import unittest 7 import time 8 import HTMLTestRunner 9 10 class JD(unittest.TestCase): 11 def setUp(self): 12 self.browser=webdriver.Chrome() 13 self.browser.implicitly_wait(30) 14 self.base_url="https://www.jd.com/" 15 self.verficationErrors=[] 16 self.accept_next_alert=True 17 def Login(self): 18 browser=self.browser 19 browser.get(self.base_url+/) 20 browser.maximize_window() 21 browser.execute_script(javascript:login()) 22 if __name__=="__main__": 23 #unittest.main() 24 testunit=unittest.TestSuite() 25 #將測試用例加入到測試容器中 26 testunit.addTest(JD("Login")) 27 #獲取當前時間,這樣便於下面的使用。 28 now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time())) 29 #打開一個文件,將result寫入此file中 30 fp=open("result"+now+".html",wb) 31 runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=test result,description=uresult:) 32 runner.run(testunit) 33 fp.close()

  四、測試報告

技術分享圖片

  測試報告界面有點不好看,後續進行改進。執行用例結果為error。再改進吧!

測試報告生成(四)