Selenium2+python自動化54-unittest產生測試報告(HTMLTestRunner)

來源:互聯網
上載者:User

標籤:selenium2   default   script   over      ret   esc   res   lib   

前言

批量執行完用例後,產生的測試報告是文本形式的,不夠直觀,為了更好的展示測試報告,最好是產生HTML格式的。

unittest裡面是不能產生html格式報告的,需要匯入一個第三方的模組:HTMLTestRunner

 

一、匯入HTMLTestRunner

1.這個模組下載不能通過pip安裝了,只能下載後手動匯入,:http://tungwaiyip.info/software/HTMLTestRunner.html

2.Download下HTMLTestRunner.py檔案就是我們需要下載的包。

3.下載後手動拖到python安裝檔案的Lib目錄下

 

二、demo解析

1.下載Download下的第二個檔案test_HTMLTestRunner.py,這個就是官方給的一個測試demo了,從這個檔案可以找到該模組的用法。

2.找到這段,就是官方給的一個demo了,test_main()裡上半部分就是載入測試case,我們不需要搞這麼複雜。

參考前面一篇內容就行了Selenium2+python自動化53-unittest批量執行(discover)

3.最核心的代碼是下面的紅色地區,這個就是本篇的重點啦。

 

三、產生html報告

1.我們只需把上面紅色地區代碼copy到上一篇的基礎上稍做修改就可以了,這裡主要有三個參數:

--stream:測試報告寫入檔案的儲存地區

--title:測試報告的主題

--description:測試報告的描述

2.report_path是存放測試報告的地址

 

四、測試報告詳情

1.找到測試報告檔案,用瀏覽器開啟,點開View裡的Detail可以查看詳情描述。

2.為了產生帶中文描述的測試案例,可以在case中添加註釋,如在test_01的指令碼添加如下注釋:

class Test(unittest.TestCase):
    def setUp(self):
        print "start!"

    def tearDown(self):
        time.sleep(1)
        print "end!"

    def test01(self):
        u‘‘‘測試登入用例,帳號:xx 密碼xx‘‘‘
        print "執行測試案例01"

    def test03(self):
        u‘‘‘測試登搜尋用例,關鍵詞:xxx‘‘‘
        print "執行測試案例03"

3.重新運行後查看測試報告

 

五、參考代碼:

# coding:utf-8
import unittest
import HTMLTestRunner

def all_case():
    # 待執行用例的目錄
    case_dir = "D:\\test\\yoyotest\\case"
    testcase = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,
                                                   pattern="test*.py",
                                                   top_level_dir=None)
    # discover方法篩選出來的用例,迴圈添加到測試套件中
    for test_suite in discover:
        for test_case in test_suite:
            # 添加用例到testcase
            testcase.addTests(test_case)
    print testcase
    return testcase

if __name__ == "__main__":
    # 返回執行個體
    # runner = unittest.TextTestRunner()
    report_path = "D:\\test\\yoyotest\\report\\result.html"

    fp = open(report_path, "wb")
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title=u‘這是我的自動化測試報告‘,
                                           description=u‘用例執行情況:‘)

    # run所有用例  交流QQ群:232607095
    runner.run(all_case())
    fp.close()

 

學習過程中有遇到疑問的,可以加selenium(python+java) QQ群交流:232607095

覺得對你有協助,就在右下角點個贊吧,感謝支援!

 

Selenium2+python自動化54-unittest產生測試報告(HTMLTestRunner)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.