基于unittest集成你的selenium2測試

前言

python單元測試框架(The Python Unit Testing Framework)簡稱PyUnit耿眉,是JUnit的python版本蚁袭,自python2.1版本后,PyUnit已經(jīng)成為了Python的標(biāo)準(zhǔn)庫阱当。下面我們就如何把unitest應(yīng)用到python selenium2自動(dòng)化測試中進(jìn)行分享俏扩。

測試用例

單元測試是由一系列的測試用例(Test Cases)構(gòu)成。測試用例是被設(shè)置用來檢測獨(dú)立場景的集合弊添。在PyUnit中录淡,unittest模塊中的TestCase類代表測試用例。

TestCase類的實(shí)例是可以完全運(yùn)行所有的方法和可選的初始化(setUp)及清理(tearDown)方法的對象油坝。

TestCase實(shí)例的測試代碼必須是包含一個(gè)或多個(gè)測試方法嫉戚,簡單說,它可以單獨(dú)運(yùn)行或與其他任意數(shù)量的用例共同運(yùn)行

簡單示例

# 將以下代碼保存到first_webdriver.py中

#-*- coding:utf-8 -*-

__author__ = u'苦葉子'

from selenium import webdriver
import unittest
import HTMLTestRunner  
import sys
from time import sleep

reload(sys)
sys.setdefaultencoding("utf-8")

class BaiduTest(unittest.TestCase):
    """百度首頁搜索測試用例"""
    def setUp(self):
        self.driver = webdriver.Ie()
        self.driver.implicitly_wait(30)
        self.base_url = u"http://www.baidu.com"
        
    def test_baidu_search(self):
        driver = self.driver
        print u"開始[case_0001]百度搜索"
        driver.get(self.base_url)
        
        # 驗(yàn)證標(biāo)題
        self.assertEqual(driver.title, u"百度一下澈圈,你就知道")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(u"開源優(yōu)測")
        driver.find_element_by_id("su").click()
        sleep(3)
        
        # 驗(yàn)證搜索結(jié)果標(biāo)題
        self.assertEqual(driver.title, u"開源優(yōu)測_百度搜索")
        
    def tearDown(self):
        self.driver.quit()
        

if __name__ == '__main__':
    testunit = unittest.TestSuite()
    testunit.addTest(BaiduTest('test_baidu_search'))    
    # 定義報(bào)告輸出路徑
    htmlPath = u"testReport.html"
    fp = file(htmlPath, "wb")
    
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, 
           title=u"百度測試", 
           description=u"測試用例結(jié)果")
    
    runner.run(testunit)
    
    fp.close()

關(guān)鍵代碼說明

  1. 在上例代碼中彬檀,我們的測試用例BaiduTest繼承了unittest.TestCase。
  2. 在初始化方法setUp中瞬女,初始化了webdriver示例和隱性等待設(shè)置窍帝,并初始化了百度首頁url。該方法自動(dòng)執(zhí)行诽偷。
  3. 在清理方法中tearDown中盯桦,退出了webdriver。該方法自動(dòng)執(zhí)行渤刃。
  4. test_baidu_search方法是我們主要的測試方法拥峦,在該方法中進(jìn)行了一下動(dòng)作。
u1.png

主入口說

  1. 先定義一個(gè)測試套件集卖子,然后將用例集添加至套件中略号。
  2. 我們使用了unittest第三方測試報(bào)告模塊HTMLTestRunner(該模塊不是標(biāo)準(zhǔn)庫,需要自己去下載洋闽,請參考前面幾篇的文章),用以自動(dòng)生產(chǎn)HTML格式的測試報(bào)告玄柠。

如何運(yùn)行上述代碼

# 將上述代碼保存至first_unit_test.py中
# 在命令行中輸入以下命令

python first_unit_test.py 

代碼組織說明

u2.png

總結(jié)

今天我們就unittest怎么和selenium測試進(jìn)行結(jié)合做了初步的分享,請大家深入理解該示例诫舅,并實(shí)際動(dòng)手練習(xí)代碼羽利。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市刊懈,隨后出現(xiàn)的幾起案子这弧,更是在濱河造成了極大的恐慌娃闲,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匾浪,死亡現(xiàn)場離奇詭異皇帮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蛋辈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門属拾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冷溶,你說我怎么就攤上這事渐白。” “怎么了逞频?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵纯衍,是天一觀的道長。 經(jīng)常有香客問我虏劲,道長托酸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任柒巫,我火速辦了婚禮励堡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘堡掏。我一直安慰自己应结,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布泉唁。 她就那樣靜靜地躺著鹅龄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亭畜。 梳的紋絲不亂的頭發(fā)上扮休,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機(jī)與錄音拴鸵,去河邊找鬼玷坠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛劲藐,可吹牛的內(nèi)容都是我干的八堡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼聘芜,長吁一口氣:“原來是場噩夢啊……” “哼兄渺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起汰现,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤挂谍,失蹤者是張志新(化名)和其女友劉穎叔壤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凳兵,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡百新,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年企软,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庐扫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仗哨,死狀恐怖形庭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厌漂,我是刑警寧澤萨醒,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站苇倡,受9級特大地震影響富纸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜旨椒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一晓褪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧综慎,春花似錦涣仿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至米罚,卻和暖如春钧汹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背录择。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工拔莱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人糊肠。 一個(gè)月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓辨宠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親货裹。 傳聞我的和親對象是個(gè)殘疾皇子嗤形,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容