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