溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Appium+Python如何生成html測(cè)試報(bào)告

發(fā)布時(shí)間:2021-06-24 14:07:46 來(lái)源:億速云 閱讀:216 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“Appium+Python如何生成html測(cè)試報(bào)告”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Appium+Python如何生成html測(cè)試報(bào)告”這篇文章吧。

分析:

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

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

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

代碼示例如下:

if __name__ == "__main__":
  #實(shí)例化測(cè)試套件
   suite = unittest.TestSuite()
   #加載測(cè)試用例
   suite.addTest(TestCase("test_login"))
  #生成測(cè)試報(bào)告
  # 選擇指定時(shí)間格式
  timestr = time.strftime('%Y-%m-%d%H%M%S', time.localtime(time.time()))
  # 定義測(cè)試報(bào)告存放路徑和報(bào)告名稱
  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自動(dòng)化測(cè)試報(bào)告',
                         description='執(zhí)行人:丹姐') 
  runner.run(suite) 

  # 關(guān)閉測(cè)試報(bào)告 
  f.close()

解析:

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

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

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

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

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

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

3.Report定義報(bào)告保存的路徑以及文件名

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

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

  • name : 一個(gè)包含了你要訪問(wèn)的文件名稱的字符串值

  • mode : mode 決定了打開(kāi)文件的模式:只讀,寫(xiě)入,追加等。所有可取值見(jiàn)如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問(wèn)模式為只讀(r)

  • buffering : 如果 buffering 的值被設(shè)為 0,就不會(huì)有寄存。如果 buffering 的值取 1,訪問(wèn)文件時(shí)會(huì)寄存行。如果將 buffering 的值設(shè)為大于 1 的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)

Appium+Python如何生成html測(cè)試報(bào)告

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

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

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

  • 0 (靜默模式): 你只能獲得總的測(cè)試用例數(shù)和總的結(jié)果 比如 總共100個(gè) 失敗20 成功80

  • 1 (默認(rèn)模式): 非常類似靜默模式 只是在每個(gè)成功的用例前面有個(gè)“.” 每個(gè)失敗的用例前面有個(gè) “F”

  • 2 (詳細(xì)模式):測(cè)試結(jié)果會(huì)顯示每個(gè)測(cè)試用例的所有相關(guān)的信息

測(cè)試報(bào)告效果圖如下所示:

Appium+Python如何生成html測(cè)試報(bào)告

以上是“Appium+Python如何生成html測(cè)試報(bào)告”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI