parameterized是python的一個參數庫,支持unittest,Nose,pytest單元測試框架
1.安裝parameterized(https://github.com/wolever/parameterized)
DOS上直接輸入: python -m pip install parameterized即可在線安裝
2.以百度搜索為例:
import unittest from time import sleep from parameterized import parameterized from selenium import webdriver 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實現參數化 @parameterized.expand([ ("case1", "selenium"), ("case2", "unittest"), ("case3", "paramenterized"), ]) # @parameterized.expand()來裝飾測試用例 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) # verbosity=2輸出更詳細的執行日志
運行結果如下: