1、使用setup 以及teardown
import unittest import time from framework.brower_engin import BrowseEngin from pageobject.baidu_homepage import HomePage class BaiduSearch(unittest.TestCase): def setUp(self): browser = BrowseEngin(self) self.driver = browser.open_browser(self) def tearDown(self): self.driver.quit() def test_baidu_search(self): homePage = HomePage(self.driver) homePage.send_keys_text_search("selenium") time.sleep(2) homePage.click_btn_search() time.sleep(2) # homePage.get_sreenshot("百度截图") def test_search2(self): homepage = HomePage(self.driver) homepage.send_keys_text_search("python") homepage.click_btn_search() time.sleep(2) homepage.get_sreenshot("jietu")
这个时候会打开两次 百度首页
# coding=utf-8 import time import unittest from framework.brower_engin import BrowseEngin from pageobject.baidu_homepage import HomePage class BaiduSearch(unittest.TestCase): @classmethod def setUpClass(cls): """ 测试固件的setUp()的代码,主要是测试的前提准备工作 :return: """ browse = BrowseEngin(cls) cls.driver = browse.open_browser(cls) @classmethod def tearDownClass(cls): """ 测试结束后的操作,这里基本上都是关闭浏览器 :return: """ cls.driver.quit() def test_baidu_search(self): """ 这里一定要test开头,把测试逻辑代码封装到一个test开头的方法里。 :return: """ homepage = HomePage(self.driver) homepage.send_keys_text_search('selenium') # 调用页面对象中的方法 homepage.click_btn_search() # 调用页面对象类中的点击搜索按钮方法 time.sleep(2) homepage.get_sreenshot("baidu0") # 调用基类截图方法 try: assert 'selenium' in homepage.get_page_title() # 调用页面对象继承基类中的获取页面标题方法 print('Test Pass.') except Exception as e: print('Test Fail.', format(e)) def test_search2(self): homepage = HomePage(self.driver) homepage.send_keys_text_search('python') # 调用页面对象中的方法 homepage.click_btn_search() # 调用页面对象类中的点击搜索按钮方法 time.sleep(2) homepage.get_sreenshot("baidu") # 调用基类截图方法 if __name__ == '__main__': unittest.main()而使用setupclass 以及teardownclass可以只有一次打开首页但是可以同事两次执行用例