欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Appium+Python之生成html測試報告

 更新時間:2019年01月04日 09:35:39   作者:丹姐blog  
這篇文章主要介紹了詳解Appium+Python之生成html測試報告,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

思考:測試用例執(zhí)行后,如何生成一個直觀漂亮的測試報告呢?

分析:

1.unittest單元測試框架本身帶有一個textTestRunner類,可以生成txt文本格式的測試報告,但是頁面不夠直觀

2.我們可以導(dǎo)入第三方庫,比如常用的HTMLTestRunner類,可以生成html格式測試報告

3.首先去下載HTMLTestRunner_PY3.py腳本(我這里采用Python3.7),然后放置在Python3.7路徑下的Lib目錄下,使用時需要導(dǎo)入(即import HTMLTestRunner_PY3)

代碼示例如下:

if __name__ == "__main__":
  #實(shí)例化測試套件
   suite = unittest.TestSuite()
   #加載測試用例
   suite.addTest(TestCase("test_login"))
  #生成測試報告
  # 選擇指定時間格式
  timestr = time.strftime('%Y-%m-%d%H%M%S', time.localtime(time.time()))
  # 定義測試報告存放路徑和報告名稱
  Report = os.path.join(
    PATH('E://testing_code/code/SmartSiteTestScript/report/test_report_') +
    timestr +
    '.html')
  with open(Report, 'wb') as f:
    runner = HTMLTestRunner_PY3.HTMLTestRunner(stream=f, 
                         verbosity=2,
                         title='XXXX自動化測試報告',
                         description='執(zhí)行人:丹姐') 
  runner.run(suite) 

  # 關(guān)閉測試報告 
  f.close()

解析:

1.在測試報告名中顯示時間:(引入time包) timestr=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))

time.time():獲取當(dāng)前時間戳

time.ctime():獲取當(dāng)前時間的字符串

time.localtime():當(dāng)前時間的struct_time形式

time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime()):獲取特定格式的時間,通常用這個

2.TestSuite是個容器,往里面用addTest()添加測試用例

3.Report定義報告保存的路徑以及文件名

open() 函數(shù)用于打開一個文件,創(chuàng)建一個file對象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫

語法:open(name[, mode[, buffering]])

  • name : 一個包含了你要訪問的文件名稱的字符串值
  • mode : mode 決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀(r)
  • buffering : 如果 buffering 的值被設(shè)為 0,就不會有寄存。如果 buffering 的值取 1,訪問文件時會寄存行。如果將 buffering 的值設(shè)為大于 1 的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)

這里常用的為 open(Report,'wb'):以二進(jìn)制形式打開文件Report

4.runner定義測試報告格式,stream定義報告寫入的二進(jìn)制文件,title為報告的標(biāo)題,description為報告的說明,runner.run()用來運(yùn)行測試case,注意最后用f.close()將文件關(guān)閉!

verbosity表示測試結(jié)果的信息復(fù)雜度,有三個值

  • 0 (靜默模式): 你只能獲得總的測試用例數(shù)和總的結(jié)果 比如 總共100個 失敗20 成功80
  • 1 (默認(rèn)模式): 非常類似靜默模式 只是在每個成功的用例前面有個“.” 每個失敗的用例前面有個 “F”
  • 2 (詳細(xì)模式):測試結(jié)果會顯示每個測試用例的所有相關(guān)的信息

測試報告效果圖如下所示:

相關(guān)文章

最新評論