看看这是否有帮助。一个示例应用
def pytest_addoption(parser):
parser.addoption("--browser", action="store", default="firefox", help="Type in browser type")
parser.addoption("--executor", action="store", default="standalone", help="For selenium grid.")
parser.addoption("--url", action="store", default="http://the-internet.herokuapp.com", help="url")
@pytest.fixture(scope="function")
def open_browser(request):
browser = request.config.getoption("--browser")
executor = request.config.getoption("--executor")
if executor == "local" or executor == "" or executor == "standalone":
if browser == 'chrome':
driver = webdriver.Chrome()
else:
driver = webdriver.Firefox()
else:
if executor == "remote":
command_executor = 'http://localhost:4444/wd/hub'
else:
command_executor = 'http://' + executor + '/wd/hub' ## Expecting IP and Port. Eg. 1.1.1.1:4444
caps = {'browserName': os.getenv('BROWSER', browser)}
driver = webdriver.Remote(
command_executor=command_executor,
desired_capabilities=caps)
driver.implicitly_wait(10)
driver.maximize_window()
yield driver # Teardown
driver.close()
driver.quit()