自動化測試:通過Parameterized實現(xiàn)參數(shù)化

Parameterized 是 Python 的一個參數(shù)化庫古胆,同時支持 unittest肆良、Nose 和 pytest 單元測試
框架。
GitHub 地址:https://github.com/wolever/parameterized逸绎。
Parameterized 支持 pip 安裝惹恃。
使用命令:pip install parameterized

import unittest
from time import sleep
from selenium import webdriver
from parameterized import parameterized

class TestBaidu(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.base_url = "https://www.baidu.com"

    def baidu_search(self,search_key):
        self.driver.get(self.base_url)
        self.driver.find_element_by_id("kw").send_keys(search_key)
        self.driver.find_element_by_id("su").click()
        sleep(2)

    #通過Parameterized實現(xiàn)參數(shù)化
    @parameterized.expand([
        ("case1","selenium"),
        ("case2","unittest"),
        ("case3","parameterized"),
    ])
    def test_search(self,name,search_key):
        self.baidu_search(search_key)
        self.assertEqual(self.driver.title,search_key+"_百度搜索")

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

if __name__ == '__main__':
    unittest.main(verbosity=2)

首先,導(dǎo)入 Parameterized 庫下面的 parameterized 類棺牧。
其次巫糙,通過@parameterized.expand()來裝飾測試用例 test_search()。
在@parameterized. expand()中颊乘,每個元組都可以被認(rèn)為是一條測試用例参淹。元組中的數(shù)據(jù)
為該條測試用例變化的值。在測試用例中疲牵,通過參數(shù)來取每個元組中的數(shù)據(jù)承二。
在 test_search()中,name 參數(shù)對應(yīng)元組中第一列數(shù)據(jù)纲爸,即“case1”“case2”“case3”亥鸠,
用來定義測試用例的名稱;search_key 參數(shù)對應(yīng)元組中第二列數(shù)據(jù)识啦,即“selenium”“unittest”
“parameterized”负蚊,用來定義搜索的關(guān)鍵字。
最后颓哮,使用 unittest 的 main()方法家妆,設(shè)置 verbosity 參數(shù)為 2,輸出更詳細(xì)的執(zhí)行日志冕茅。
運(yùn)行上面的測試用例伤极,結(jié)果如下。


image.png

通過測試結(jié)果可以看到姨伤,因為是根據(jù)@parameterized.expand()中元組的個數(shù)來統(tǒng)計測試
用例數(shù)的哨坪,所以產(chǎn)生了 3 條測試用例。test_search 為定義的測試用例的名稱乍楚。參數(shù)化會自
動加上“0”当编、“1”和“2”來區(qū)分每條測試用例,在元組中定義的“case1”“case2”“case3”
也會作為每條測試用例名稱的后綴出現(xiàn)徒溪。
--來源蟲師《Selenium3自動化測試實戰(zhàn)——基于Python語言》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忿偷,一起剝皮案震驚了整個濱河市金顿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鲤桥,老刑警劉巖揍拆,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芜壁,居然都是意外死亡礁凡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門慧妄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顷牌,“玉大人,你說我怎么就攤上這事塞淹】呃叮” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵饱普,是天一觀的道長运挫。 經(jīng)常有香客問我,道長套耕,這世上最難降的妖魔是什么谁帕? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮冯袍,結(jié)果婚禮上匈挖,老公的妹妹穿的比我還像新娘。我一直安慰自己康愤,他們只是感情好儡循,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著征冷,像睡著了一般择膝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上检激,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天肴捉,我揣著相機(jī)與錄音,去河邊找鬼叔收。 笑死每庆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的今穿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼伦籍,長吁一口氣:“原來是場噩夢啊……” “哼蓝晒!你這毒婦竟也來了腮出?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤芝薇,失蹤者是張志新(化名)和其女友劉穎胚嘲,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洛二,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馋劈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了晾嘶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妓雾。...
    茶點(diǎn)故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖垒迂,靈堂內(nèi)的尸體忽然破棺而出械姻,到底是詐尸還是另有隱情,我是刑警寧澤机断,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布楷拳,位于F島的核電站,受9級特大地震影響吏奸,放射性物質(zhì)發(fā)生泄漏欢揖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一奋蔚、第九天 我趴在偏房一處隱蔽的房頂上張望她混。 院中可真熱鬧,春花似錦旺拉、人聲如沸产上。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晋涣。三九已至,卻和暖如春沉桌,著一層夾襖步出監(jiān)牢的瞬間谢鹊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工留凭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佃扼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓蔼夜,卻偏偏與公主長得像兼耀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評論 2 355

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