Python+Selenium框架設計篇之-簡單介紹unittest單元測試框架

  前面文章已經簡單介紹了一些關於自動化測試框架的介紹,知道了什麼是自動化測試框架,主要有哪些特色,基本組成部分等。在繼續介紹框架設計以前,咱們先來學習一個工具,叫unittest。
       unittest是一個單元測試框架,是Python編程的單元測試框架。有時候,也作叫作「PyUnit」,是Junit的Python語言版本。這裏瞭解下,Junit是Java語言的單元測試框架,Java還有一個很好用的單元測試框架叫TestNG,本系列只學習Python,因此只須要unittest是Python裏的一個單元測試框架就能夠了。
       unittest支持測試自動化,共享測試用例中的初始化和關閉退出代碼,在unittest中最小單元是test,也就是一個測試用例。要了解unittest單元測試框架,先來了解如下幾個重要的概念。
測試固件(test fixture)
      一個測試固件包括兩部分,執行測試代碼以前的準備部分和測試結束以後的清掃代碼。這兩部分通常用函數setUp()和tearDown()表示。這裏舉例如下,例如要測試百度搜索selenium這個場景,咱們的測試固件能夠這樣寫,setUp()裏寫打開瀏覽器,瀏覽器最大化,和打開百度首頁等腳本代碼;在tearDown()裏寫結束搜索後,退出並關閉瀏覽器的代碼。
測試用例(test case)
       unittest中管理的最小單元是測試用例,一個測試用例,包括測試固件,和具體測試業務的函數或者方法。一個測試用例中,測試固件能夠不寫,可是至少有一個已test開頭的函數。unittest會自動化識別test開頭的函數是測試代碼,若是你寫的函數不是test開頭,unittest是不會執行這個函數裏面的腳本的,這個千萬要記住,全部的測試函數都要test開頭,記住是小寫的哦。
測試套件 (test suite)
       很簡單,就是不少測試用例的集合,叫測試套件,一個測試套件能夠隨意管理多個測試用例。若是測試用例比做單個學生,測試套件就是好像是班級的概念。
測試執行器 (test runner)
       test runner是一個用來執行加載測試用例,並執行用例,且提供測試輸出的一個組建。test runner能夠加載test case或者test suite進行執行測試任務。python

咱們舉例來,練習一下test fixture和test case的使用,學習unittest的簡單用法:
1. 新建一個testbaidu.py的文件
2. 導入unittest模塊
3. 當前測試類繼承unittest.TestCase,至關於當前利用unittest建立了一個test case,這個test case是可以被unittest直接識別。
4. 寫setUP(),主要是打開瀏覽器和打開站點
5. 寫一個test_search()用例寫搜索的代碼
6. 寫tearDown(),主要是瀏覽器退出操做
相關腳本代碼以下:編程

解釋:
        最後結尾處的unittest.main(),添加這個是支持在cmd,裏面,cd到這個腳本文件所在的目錄,而後python 腳本名.py執行,若是不添加這一段,是沒法執行cmd裏面運行腳本的,在PyCharm中,不添加最後一段,也能夠經過,右鍵 Run "unittest xxx",來達到執行效果。瀏覽器

相關文章
相關標籤/搜索