public static boolean isMobile(WebDriver driver) { if(driver instanceof WebDriverFacade){ return (MobileDriver.class.isAssignableFrom(((WebDriverFacade) driver).getDriverClass())); } return (driver instanceof MobileDriver); } }
public String getTitle() { if (!isEnabled()) { return StringUtils.EMPTY; } return getProxiedDriver().getTitle(); }
public WebDriverFacade proxyFor(final Class<? extends WebDriver> driverClass, final WebDriverFactory webDriverFactory) { if (mockDriver != null) { return mockDriver; } else { return new WebDriverFacade(driverClass, webDriverFactory); } }
public void get(final String url) { if (!isEnabled()) { return; } openIgnoringHtmlUnitScriptErrors(url); }
public void get(final String url) { if (!isEnabled()) { return; } // openIgnoringHtmlUnitScriptErrors(url); getProxiedDriver().get(url); setTimeouts(); }
private void openIgnoringHtmlUnitScriptErrors(final String url) { try { getProxiedDriver().get(url); } catch (WebDriverException e) { if (!htmlunitScriptError(e)) { throw e; } } }
public <X> X getScreenshotAs(final OutputType<X> target) { if (proxyInstanciated() && driverCanTakeScreenshots()) { try { return ((TakesScreenshot) getProxiedDriver()).getScreenshotAs(target); } catch (OutOfMemoryError outOfMemoryError) { // Out of memory errors can happen with extremely big screens, and currently Selenium does // not handle them correctly/at all. LOGGER.error("Failed to take screenshot - out of memory", outOfMemoryError); } catch (RuntimeException e) { LOGGER.warn("Failed to take screenshot (" + e.getMessage() + ")"); } } return null; }
public List<WebElement> findElements(final By by) { if (!isEnabled()) { return Collections.emptyList(); } webDriverFactory.setTimeouts(getProxiedDriver(), getCurrentImplicitTimeout()); List<WebElement> elements = getProxiedDriver().findElements(by); webDriverFactory.resetTimeouts(getProxiedDriver()); return elements; }
public void close() { if (proxyInstanciated()) { //if there is only one window closing it means quitting the web driver if (getDriverInstance().getWindowHandles() != null && getDriverInstance().getWindowHandles().size() == 1){ this.quit(); } else{ getDriverInstance().close(); } webDriverFactory.shutdownFixtureServices(); } }
public void close() { if (proxyInstanciated()) { //if there is only one window closing it means quitting the web driver if (areWindowHandlesAllowed(getDriverInstance()) && getDriverInstance().getWindowHandles() != null && getDriverInstance().getWindowHandles().size() == 1){ this.quit(); } else{ WebDriverInstanceEvents.bus().notifyOf(WebDriverLifecycleEvent.CLOSE).forDriver(getDriverInstance()); getDriverInstance().close(); } } }
public void quit() { if (proxyInstanciated()) { try { getDriverInstance().quit(); } catch (WebDriverException e) { LOGGER.warn("Error while quitting the driver (" + e.getMessage() + ")"); } proxiedWebDriver = null; } }
private boolean isInstantiated(WebDriver driver) { if (driver instanceof WebDriverFacade) { return (((WebDriverFacade) driver).isInstantiated()); } return (driver != null); }
private WebDriver getRealDriver() { if (WebDriverFacade.class.isAssignableFrom(driver.getClass())) { WebDriverFacade driverFacade = (WebDriverFacade) driver; return driverFacade.getProxiedDriver(); } else { return driver; } }
protected boolean proxyInstanciated() { return (getDriverInstance() != null); }
protected boolean driverIsInstantiated() { if (getDriver() instanceof WebDriverFacade) { return ((WebDriverFacade) getDriver()).isEnabled() && ((WebDriverFacade) getDriver()).isInstantiated(); } return true; }
protected boolean driverCanTakeSnapshots() { if (driver == null) { return false; } else if (driverIsProvided()) { ProvidedDriverConfiguration sourceConfig = new ProvidedDriverConfiguration(environmentVariables); return sourceConfig.getDriverSource().takesScreenshots(); } else if (driver instanceof WebDriverFacade) { return ((WebDriverFacade) driver).canTakeScreenshots() && (((WebDriverFacade) driver).getProxiedDriver() != null); } else { return TakesScreenshot.class.isAssignableFrom(driver.getClass()); } }
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 void reset() { if (proxiedWebDriver != null) { forcedQuit(); } proxiedWebDriver = null; }
public WebDriver getProxiedDriver() { if (proxiedWebDriver == null) { proxiedWebDriver = newProxyDriver(); WebdriverProxyFactory.getFactory().notifyListenersOfWebdriverCreationIn(this); } return proxiedWebDriver; }
protected WebDriver newProxyDriver() { return newDriverInstance(); }