Example usage for org.openqa.selenium.support.events EventFiringWebDriver EventFiringWebDriver

List of usage examples for org.openqa.selenium.support.events EventFiringWebDriver EventFiringWebDriver

Introduction

In this page you can find the example usage for org.openqa.selenium.support.events EventFiringWebDriver EventFiringWebDriver.

Prototype

public EventFiringWebDriver(final WebDriver driver) 

Source Link

Usage

From source file:cc.kune.selenium.SeleniumModule.java

License:GNU Affero Public License

@Override
protected void configure() {
    WebDriver driver;//from w  w  w .  j ava2  s .  com
    switch (SeleniumConf.DRIVER) {
    case chrome:
        driver = createChromeDriver();
        break;
    case firefox:
    default:
        driver = creatFirefoxDriver();
        break;
    }
    final EventFiringWebDriver wrap = new EventFiringWebDriver(driver);
    wrap.register(new CustomWebDriverEventListener());

    bind(WebDriver.class).toInstance(wrap);

    bind(ElementLocatorFactory.class).toInstance(new AjaxElementLocatorFactory(wrap, SeleniumConf.TIMEOUT));

    // Page Objects here!
    bind(LoginPageObject.class).in(Singleton.class);
    bind(RegisterPageObject.class).in(Singleton.class);
    bind(EntityHeaderPageObject.class).in(Singleton.class);
    bind(ChatPageObject.class).in(Singleton.class);
    bind(SitePageObject.class).in(Singleton.class);

    final ResourceBundle english = ResourceBundle.getBundle("TestConstants", Locale.ENGLISH);
    final ResourceBundle spanish = ResourceBundle.getBundle("TestConstants", new Locale("es"));
    Locale.setDefault(Locale.ENGLISH);
    switch (SeleniumConf.LANG) {
    case es:
        bind(ResourceBundle.class).toInstance(spanish);
        break;
    case en:
    default:
        bind(ResourceBundle.class).toInstance(english);
        break;
    }

}

From source file:ch.vorburger.webdriver.reporting.tests.SampleGoogleSearchReportTest.java

License:Apache License

@Test
public void testGoogleSearch() {
    EventFiringWebDriver driverWithReporting;
    {//from  w  ww.j av  a2 s.  c  om
        // System.setProperty("webdriver.chrome.driver", "/opt/google/chrome/chrome");
        // WebDriver driver = new ChromeDriver();
        WebDriver driver = new FirefoxDriver();

        WebDriverEventListener loggingListener = new LoggingWebDriverEventListener(LOG_FILE_WRITER);
        ;
        driverWithReporting = new EventFiringWebDriver(driver);
        driverWithReporting.register(loggingListener);
    }

    driverWithReporting.get("http://www.google.com");
    WebElement element = driverWithReporting.findElement(By.name("q"));
    element.sendKeys("Mifos");
    element.submit();

    (new WebDriverWait(driverWithReporting, 10))
            .until(ExpectedConditions.presenceOfElementLocated(By.id("bfoot")));

    driverWithReporting.quit();
}

From source file:com.coderoad.automation.core.manager.DriverManager.java

License:Open Source License

/**
 * Register driver.//from  w ww  . j  a v a  2 s  .  c om
 * 
 * @param webDriver the web driver
 */
public static void registerDriver(final WebDriver webDriver) {

    LogUtil.log("Registering Driver ", LogLevel.HIGH);
    final EventListener eventListener = new EventListener();
    final EventFiringWebDriver efd = new EventFiringWebDriver(webDriver);
    efd.register(eventListener);
    webDriverThread.set(efd);
}

From source file:com.consol.citrus.selenium.client.WebClient.java

License:Apache License

@Override
public void addListener(WebDriverEventListener listener) {
    this.listeners.add(listener);

    EventFiringWebDriver wrapper = new EventFiringWebDriver(webDriver);
    logger.info("Add listener to webdriver: " + listener);
    wrapper.register(listener);/* w  w w  .j a  v  a2s. co  m*/
}

From source file:com.consol.citrus.selenium.endpoint.SeleniumBrowser.java

License:Apache License

/**
 * Starts the browser and create local or remote web driver.
 *///  ww  w . ja  v  a 2s  .  co  m
public void start() {
    if (!isStarted()) {
        if (getEndpointConfiguration().getWebDriver() != null) {
            webDriver = getEndpointConfiguration().getWebDriver();
        } else if (StringUtils.hasText(getEndpointConfiguration().getRemoteServerUrl())) {
            webDriver = createRemoteWebDriver(getEndpointConfiguration().getBrowserType(),
                    getEndpointConfiguration().getRemoteServerUrl());
        } else {
            webDriver = createLocalWebDriver(getEndpointConfiguration().getBrowserType());
        }

        if (!CollectionUtils.isEmpty(getEndpointConfiguration().getEventListeners())) {
            EventFiringWebDriver wrapper = new EventFiringWebDriver(webDriver);
            log.info("Add event listeners to web driver: "
                    + getEndpointConfiguration().getEventListeners().size());
            for (WebDriverEventListener listener : getEndpointConfiguration().getEventListeners()) {
                wrapper.register(listener);
            }
        }
    } else {
        log.warn("Browser already started");
    }
}

From source file:com.ibm.watson.app.qaclassifier.selenium.drivers.SeleniumTestRunner.java

License:Open Source License

private WebDriver getDriver(Environment env, Device device, Browser browser) throws Exception {
    WebDriver driver = browser.getDriver(env);
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    // Add a small delay to prevent timing issues in the browser
    EventFiringWebDriver driverWithEvents = new EventFiringWebDriver(driver);
    driverWithEvents.register(new WebDriverDelay());

    device.configure(driverWithEvents);//from w  w w  . j  a  v a  2 s.  co m
    return driverWithEvents;
}

From source file:com.lohika.alp.selenium.AlpWebDriverFactory.java

License:Open Source License

public static WebDriver getDriver(String SeleniumUrl, DesiredCapabilities capabilities)
        throws MalformedURLException {

    Logger alpSeleniumLogger = Logger.getLogger("com.lohika.alp.selenium");
    if (alpSeleniumLogger.getLevel() == null)
        alpSeleniumLogger.setLevel(Level.DEBUG);

    URL remoteAddress = new URL(SeleniumUrl);

    CommandExecutor commandExecutor = new HttpCommandExecutor(remoteAddress);

    WebDriver driver;/* w  w  w  . j a va2s . co  m*/

    // Set name of WebDriver to be shown in log
    String name = capabilities.getBrowserName();

    // Configure capabilities for webdriver to use js error catcher (only FF support now)
    WebDriverConfigurator webDriverConfigurator = new WebDriverConfigurator(name);
    capabilities = webDriverConfigurator.configure(capabilities);

    // Create remote WebDriver instance
    driver = new RemoteWebDriverTakeScreenshotFix(commandExecutor, capabilities);

    // Set factory for log objects
    LogElementsSeleniumFactory logObjectsFactory = new LogElementsSeleniumFactoryJAXB();

    // Register WebDriver event listener to handle exceptions
    // TODO initialize factory separately
    LogElementsSeleniumFactory elementsFactory = new LogElementsSeleniumFactoryJAXB();
    WebDriverEventListener listener = new LoggingWebDriverListener(elementsFactory);

    driver = new EventFiringWebDriver(driver);
    ((EventFiringWebDriver) driver).register(listener);

    // Wrap WebDriver with logging facility
    // FIXME Do not use 'instanceof' in logging decorators
    // Otherwise LoggingWebDriver can be only the last in the decorators chain
    driver = new LoggingWebDriver(driver, name, logObjectsFactory);

    return driver;
}

From source file:com.mgmtp.jfunk.web.BaseWebDriverProvider.java

License:Apache License

@Override
public WebDriver get() {
    String webDriverKey = config.get(WebConstants.WEBDRIVER_KEY);
    log.info("Creating new WebDriver instance with key '{}'...", webDriverKey);

    DesiredCapabilities capabilities = capabilitiesMap.get(webDriverKey);

    // we must disable WebDriver's overlapping check to be able to use our own topMostElementCheck flag
    capabilities.setCapability("overlappingCheckDisabled", true);

    //TODO this flag tells FirefoxDriver whether to run in legacy mode or in Marionette mode
    // => remove it, once the W3C actions API is correctly implemented in GeckoDriver
    Boolean isWebdriverFirefoxMarionette = config
            .getBoolean(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE);
    capabilities.setCapability(FirefoxDriver.MARIONETTE, isWebdriverFirefoxMarionette);

    // post event so users can customize capabilities
    eventBus.post(new BeforeWebDriverCreationEvent(webDriverKey, capabilities));

    WebDriver webDriver = createWebDriver(capabilities);
    checkState(!(webDriver instanceof EventFiringWebDriver),
            "WebDrivers must not be wrapped explicitly into an EventFiringWebDriver. This is implicitly done by jFunk.");

    long implicitWaitSeconds = config.getLong(WebConstants.WEBDRIVER_IMPLICIT_WAIT_SECONDS, 0L);
    if (implicitWaitSeconds > 0) {
        webDriver.manage().timeouts().implicitlyWait(implicitWaitSeconds, TimeUnit.SECONDS);
    }//  w  w w. j  a va 2  s .c om

    EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver(webDriver);
    for (WebDriverEventListener listener : eventListeners) {
        eventFiringWebDriver.register(listener);
    }
    return eventFiringWebDriver;
}

From source file:com.springer.omelet.driver.DriverFactory.java

License:Apache License

/***
 * Return WebDriver either Remote/BrowserStack or local Browser based on
 * remoteFlag//  w  w w.j a v a  2 s . c o  m
 * 
 * @return
 */
public WebDriver intializeDriver() {

    if (remoteFlag) {
        RemoteBrowser rb = this.new RemoteBrowser();
        webDriver = rb.returnRemoteDriver();
    } else if (browser.toLowerCase().startsWith("f")) {
        LOGGER.debug("Returning firefox driver-Without Remote.");
        webDriver = new FirefoxDriver();
    } else if (browser.toLowerCase().startsWith("i")) {
        System.setProperty("webdriver.ie.driver", ieServerPath);
        LOGGER.debug("Returning ie driver-Without Remote.");
        webDriver = new InternetExplorerDriver();
    } else if (browser.toLowerCase().startsWith("c")) {
        System.setProperty("webdriver.chrome.driver", chromeServerPath);
        LOGGER.debug("Returning chrome driver-Without Remote.");
        webDriver = new ChromeDriver();
    } else if (browser.toLowerCase().startsWith("h")) {
        LOGGER.info("Browser is HTMLUNIT");
        webDriver = new HtmlUnitDriver();
    }

    // For maximizing driver windows and wait
    if (webDriver != null) {
        if (this.isMobileTest == false) {
            webDriver.manage().window().maximize();
        }
        webDriver.manage().timeouts().implicitlyWait(driverTimeOut, TimeUnit.SECONDS);
    }

    if (ishiglightElementFlag) {
        EventFiringWebDriver efw = new EventFiringWebDriver(webDriver);
        efw.register(new MyWebDriverListner());
        webDriver = efw;
    }
    return webDriver;

}

From source file:io.github.seleniumquery.browser.driver.DriverBuilder.java

License:Apache License

protected WebDriver attatchEventListner(WebDriver webDriver) {
    if (webDriverEventListener != null) {
        EventFiringWebDriver efwd = new EventFiringWebDriver(webDriver);
        efwd.register(webDriverEventListener);
        return efwd;
    } else {//from   ww w .j  a  va 2 s . co m
        return webDriver;
    }
}