#参数化库: parameterized 前提:先安装patameterized库 >>>python -m pip install parameterized from selenium import webdriver import unittest from time import sleep from parameterized import parameterized
class TestSearch(unittest.TestCase): @classmethod #基于类级别只开启一次浏览器,执行当前目录下所有用例 def setUpClass(cls): cls.dr = webdriver.Chrome() cls.base_url = ‘https://www.baidu.com‘ @classmethod def tearDownClass(cls): cls.dr.quit()
@parameterized.expand([ (‘case1‘,‘selenium‘,‘selenium_百度搜索‘), (‘case2‘,‘python‘,‘python_百度搜索‘), (‘case3‘,‘unittest‘,‘unittest_百度搜索‘) ]) def test_search(self,name,searchkeys,assertResult): dr = self.dr dr.get(self.base_url) dr.find_element_by_id("kw").send_keys(searchkeys) dr.find_element_by_id("su").click() sleep(3) self.assertEqual(self.dr.title,assertResult) @unittest.skip("直接跳过") def test_selenium(self): self.baidu_search("selenium") self.assertEqual(self.dr.title,"selenium_百度搜索")
@unittest.skip("直接跳过") def test_python(self): self.baidu_search("python") self.assertEqual(self.dr.title,"python_百度搜索")
if __name__ == "__main__": unittest.main(verbosity=2) #打印日志级别
执行结果: