import pytest from selenium import webdriver # 全局設置driver方法1 driver = None @pytest.fixture(scope='session') # 以實現多個.py跨文件使用一個session來完成多個用例 def browser(): global driver '''定義全局driver參數''' if driver is None: driver = webdriver.Chrome() driver.maximize_window() driver.get("http://xxxx.com/") driver.implicitly_wait(10) print("正在啟動瀏覽器:Chrome") yield driver driver.close() return driver
# 全局設置driver方法2
def pytest_addoption(parser): ''' 添加命令行參數 --browser ''' parser.addoption( "--browser", action="store", default="firefox", help="browser option: chrome" ) @pytest.fixture(scope='session') # 以實現多個.py跨文件使用一個session來完成多個用例 def driver(request): '''定義全局driver參數''' name = request.config.getoption("--browser") if name == "chrome": driver = webdriver.Chrome() driver.maximize_window() elif name == "firefox": driver = webdriver.Firefox() driver.maximize_window() driver.get("http://xxxx.cn/") driver.implicitly_wait(10) print("正在啟動瀏覽器: %s" % name) return driver