private static WebDriver instantiatedThreadLocalWebDriver(final DriverConfiguration configuration, final WebDriverFactory webDriverFactory, final String driver, final String options) { String uniqueDriverName = uniqueDriverNameFor(driver, options); if (!inThisTestThread().driverIsRegisteredFor(uniqueDriverName)) { inThisTestThread().registerDriverCalled(uniqueDriverName) .forDriver(newDriver(configuration, webDriverFactory, driverTypeOf(driver), options)); } return inThisTestThread().useDriver(uniqueDriverName); }
@Override public WebdriverManager withOptions(String driverOptions) { return new SerenityWebdriverManager(webDriverFactory, configuration, driverOptions); }
public WebDriver getWebdriver() { String currentDriverName = (isNotEmpty(inThisTestThread().getCurrentDriverName())) ? inThisTestThread().getCurrentDriverName() : getDefaultDriverType(); return instantiatedThreadLocalWebDriver(configuration, webDriverFactory, currentDriverName, options); }
public WebDriver getWebdriver(final String driverName, String options) { String name = (isEmpty(driverName)) ? inThisTestThread().getCurrentDriverName() : driverName; return instantiatedThreadLocalWebDriver(configuration, webDriverFactory, name, options); }
@Override public List<WebDriver> getRegisteredDrivers() { return inThisTestThread().getActiveDrivers(); }
@Override public void registerDriver(WebDriver driver) { if (driver != null) { inThisTestThread().registerDriverCalled(nameOf(driver)).forDriver(driver); inThisTestThread().setCurrentDriverTo(driver); } }
public SessionId getSessionId() { WebDriver driver = inThisTestThread().getCurrentDriver(); if((driver instanceof WebDriverFacade) && (((WebDriverFacade) driver).isInstantiated())){ WebDriver proxiedDriver = ((WebDriverFacade) driver).getDriverInstance(); return sessionIdOf(proxiedDriver); } return sessionIdOf(driver); }
public WebDriver getWebdriver(final String driverName) { return getWebdriver(driverName, options); }
public WebDriver getWebdriverByName(String name) { return getWebdriverByName(name,configuration.getDriverType().name()); }
/** * Create a new driver instance based on system property values. You can * override this method to use a custom driver if you really know what you * are doing. * * @throws UnsupportedDriverException * if the driver type is not supported. */ private static WebDriver newDriver(final DriverConfiguration configuration, final WebDriverFactory webDriverFactory, final String driver, final String options) { SupportedWebDriver supportedDriverType = getConfiguredWebDriverWithOverride(configuration, driver); Class<? extends WebDriver> webDriverType = webDriverFactory.getClassFor(supportedDriverType); return WebdriverProxyFactory.getFactory().proxyFor(webDriverType, webDriverFactory, configuration, options); }
@Override public void setCurrentDriver(WebDriver driver) { inThisTestThread().setCurrentDriverTo(driver); }
public WebDriver getWebdriverByName(String name, String driver) { return getWebdriver(driver + ":" + name); }
@Override public List<String> getActiveDriverTypes() { return inThisTestThread().getActiveDriverTypes(); }
public static WebdriverManager getWebdriverManager(WebDriverFactory webDriverFactory, DriverConfiguration configuration) { initialize(new SerenityWebdriverManager(webDriverFactory, configuration), ""); return webdriverManagerThreadLocal.get(); }
public void closeDriver() { inThisTestThread().closeCurrentDriver(); }
private static WebdriverManager newWebdriverManager() { WebDriverFactory webDriverFactoryForThisThread = new WebDriverFactory(); DriverConfiguration globalConfiguration = WebDriverConfiguredEnvironment.getDriverConfiguration(); return new SerenityWebdriverManager(webDriverFactoryForThisThread, globalConfiguration); }
public void clearCurrentDriver() { inThisTestThread().resetCurrentDriver(); }
@Override public WebdriverManager withProperty(String property, String value) { EnvironmentVariables updatedEnvironmentVariables = configuration.getEnvironmentVariables().copy(); updatedEnvironmentVariables.setProperty(property, value); return new SerenityWebdriverManager(webDriverFactory, configuration.withEnvironmentVariables(updatedEnvironmentVariables), options); } public void resetDriver() {
public Map<String, WebDriver> getActiveDrivers() { return SerenityWebdriverManager.inThisTestThread().getActiveDriverMap(); }
public int getCurrentActiveWebdriverCount() { return inThisTestThread().getActiveWebdriverCount(); }