Example usage for org.openqa.selenium WebDriver manage

List of usage examples for org.openqa.selenium WebDriver manage

Introduction

In this page you can find the example usage for org.openqa.selenium WebDriver manage.

Prototype

Options manage();

Source Link

Document

Gets the Option interface

Usage

From source file:db.Db.java

static boolean regAccount(String a[][], String referralUrl, int f, WebDriver driver)
        throws InterruptedException {

    String name = a[f][0], shurname = a[f][1], password = a[f][2], mail = a[f][3];
    boolean ispresent = false, registered = false;
    String gsUrl = "https://www.dropbox.com/gs";

    driver.get(referralUrl);/*  ww w  .j a  va  2s  .c  o  m*/
    for (int second = 0;; second++) {
        if (second >= 30) {
            System.out.println("Connection timeout");
            break;
        }

        //ispresent

        try {
            driver.findElement(By.xpath("//div[2]/div/div/form/div[2]/div[2]/input"));
            ispresent = true;
        } catch (NoSuchElementException e) {
            ispresent = false;
        }
        try {
            if (ispresent)
                break;
        } catch (Exception e) {
        }
        Thread.sleep(1000);
    }
    Thread.sleep(100);

    if (ispresent) {
        driver.findElement(By.xpath("//div[2]/div/div/form/div[2]/div[2]/input")).clear();
        driver.findElement(By.xpath("//div[2]/div/div/form/div[2]/div[2]/input")).sendKeys(name);
        driver.findElement(By.xpath("//div[2]/div/div/form/div[3]/div[2]/input")).clear();
        driver.findElement(By.xpath("//div[2]/div/div/form/div[3]/div[2]/input")).sendKeys(shurname);
        driver.findElement(By.xpath("//div[5]/div[2]/input")).clear();
        driver.findElement(By.xpath("//div[5]/div[2]/input")).sendKeys(password);
        driver.findElement(By.xpath("//div[2]/div/div/form/div[4]/div[2]/input")).clear();
        driver.findElement(By.xpath("//div[2]/div/div/form/div[4]/div[2]/input")).sendKeys(mail);
        driver.findElement(By.xpath("//div[6]/input")).click(); //Check tos agree
        Thread.sleep(100);
        driver.findElement(By.xpath("//div[2]/div/div/form/button")).click(); //Submit register form 

        for (int second = 0;; second++) {
            if (second >= 15) {
                System.out.println("Submitting form timeout");
                break;
            }

            if (gsUrl.equals(driver.getCurrentUrl()))
                registered = true;

            try {
                if (registered)
                    break;
            } catch (Exception e) {
            }
            Thread.sleep(1000);
        }
    }

    int n = f + 1;
    if (registered)
        System.out.print("");
    else
        System.out.print("x");

    driver.manage().deleteAllCookies();
    return registered;
    //returns true or false
}

From source file:db.Db.java

public static void main(String[] args) throws InterruptedException, Exception {
    // TODO code application logic here

    //SETUP/*ww  w .j a  v  a2  s  .com*/
    WebDriver driver;
    String referralUrl, accounts[][];
    String mSuffix = new String();

    double space = 0, nAccounts;
    int needAccounts, creAccounts, f;
    StringBuffer verificationErrors = new StringBuffer();
    driver = new FirefoxDriver();
    //        driver = new HtmlUnitDriver();
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

    referralUrl = "https://www.dropbox.com/referrals/NTM2OTAyMjIyMjk?src=global9";
    mSuffix = "@gmail.com";
    space = 16.250;
    space = (Math.floor(space * 2) / 2); //trunk number to .0 or .5

    needAccounts = (int) ((18 - space) * 2); //number of accounts needed
    creAccounts = 0; //number of accounts created
    accounts = new String[needAccounts][4]; //accounts credentials matrix

    //GENERATE ACCOUNTS

    for (f = 0; f < accounts.length; f++)
        genAccount(accounts, mSuffix, f);

    //REGISTER
    int regAttempts = 0;
    System.out.print("Registering accounts => ");
    for (f = 0; f < accounts.length; f++) {
        while (!regAccount(accounts, referralUrl, f, driver) && regAttempts < 3) {

            regAttempts++;
            genAccount(accounts, mSuffix, f);
        }
        if (regAttempts < 3)
            creAccounts++;
        else
            System.out.println("Registration failed 3 consecutive times. Aborting");

    } //end for

    if (creAccounts == needAccounts)
        System.out.println("\n" + creAccounts + " DROPBOX ACCOUNTS CREATED SUCCESFULLY!!  :D :D");

    //TEARDOWN
    driver.quit();

}

From source file:de.learnlib.alex.data.entities.actions.misc.SetVariableByCookieAction.java

License:Apache License

@Override
public ExecuteResult execute(ConnectorManager connector) {
    VariableStoreConnector storeConnector = connector.getConnector(VariableStoreConnector.class);
    WebServiceConnector webServiceConnector = connector.getConnector(WebServiceConnector.class);
    WebSiteConnector webSiteConnector = connector.getConnector(WebSiteConnector.class);

    try {/*from  w ww . j a v  a2s .  c o m*/
        String cookieValue = null;

        if (cookieType == CookieType.WEB) {
            WebDriver driver = webSiteConnector.getDriver();
            WebDriver.Options manage = driver.manage();
            Cookie cookie = manage.getCookieNamed(value);
            if (cookie != null) {
                cookieValue = cookie.getValue();
            }
        } else if (cookieType == CookieType.REST) {
            Map<String, NewCookie> cookies = webServiceConnector.getCookies();
            javax.ws.rs.core.Cookie cookie = cookies.get(value);
            if (cookie != null) {
                cookieValue = cookie.getValue();
            }
        } else {
            LOGGER.warn(LoggerMarkers.LEARNER,
                    "Could not set the variable '{}' to the cookie '{}' because the type '{}' is not supported!",
                    name, value, cookieType);
            return getFailedOutput();
        }

        if (cookieValue != null) {
            storeConnector.set(name, cookieValue);
            LOGGER.info(LoggerMarkers.LEARNER, "Set the variable '{}' to the value '{}' of the cookie '{}:{}' ",
                    name, cookieValue, cookieType, value);
            return getSuccessOutput();
        } else {
            LOGGER.info(LoggerMarkers.LEARNER,
                    "Could not set the variable '{}' to the cookie '{}:{}' because the cookie was not found!",
                    name, cookieType, value);
            return getFailedOutput();
        }
    } catch (IllegalStateException | NoSuchElementException e) {
        LOGGER.warn(LoggerMarkers.LEARNER,
                "Could not set the variable '{}' to the cookie '{}' because of an error.", name, value, e);
        return getFailedOutput();
    }
}

From source file:de.learnlib.alex.data.entities.actions.misc.SetVariableByCookieActionTest.java

License:Apache License

private WebSiteConnector createWebSiteConnectorMock(Cookie cookie) {
    WebDriver.Options options = mock(WebDriver.Options.class);
    given(options.getCookieNamed(COOKIE_NAME)).willReturn(cookie);
    WebDriver driver = mock(WebDriver.class);
    given(driver.manage()).willReturn(options);
    WebSiteConnector webSiteConnector = mock(WebSiteConnector.class);
    given(webSiteConnector.getDriver()).willReturn(driver);
    return webSiteConnector;
}

From source file:de.learnlib.alex.learning.entities.webdrivers.AbstractWebDriverConfig.java

License:Apache License

/**
 * Handle timeouts and browser dimensions.
 *
 * @param driver/* w w w  . j  a va 2s.co m*/
 *         The web driver.
 */
protected void manage(final WebDriver driver) {
    driver.manage().timeouts().pageLoadTimeout(pageLoadTimeout, TimeUnit.SECONDS);
    driver.manage().timeouts().setScriptTimeout(scriptTimeout, TimeUnit.SECONDS);

    if (implicitlyWait > 0) {
        driver.manage().timeouts().implicitlyWait(implicitlyWait, TimeUnit.SECONDS);
    }

    if (height > 0 && width > 0) {
        driver.manage().window().setSize(new Dimension(width, height));
    }
}

From source file:de.ppi.selenium.browser.DefaultWebDriverFactory.java

License:Apache License

@Override
public WebDriver createWebDriver(Map<String, String> options, DesiredCapabilities capabilities)
        throws IOException {
    ClientProperties properties = new ClientProperties(options.get(CLIENT_PROPERTIES_KEY));

    WebDriver wd = null;
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities(capabilities);
    String browser = properties.getBrowser();

    if (properties.isUseGrid()) {
        RemoteWebDriver remoteWebDriver = new RemoteWebDriver(new URL(properties.getGridUrl()), capabilities);
        remoteWebDriver.setFileDetector(new LocalFileDetector());
        wd = remoteWebDriver;//  ww  w  .j  a va 2 s  .  c  o  m
    } else {
        if (browser == null || browser.equals("")) {
            throw new RuntimeException(
                    "Browser cannot be null. Please set 'browser' in client properties. Supported browser types: IE, Firefox, Chrome, Safari, HtmlUnit.");
        } else if (browser.equalsIgnoreCase("ie") || browser.equalsIgnoreCase("iexplore")
                || browser.equalsIgnoreCase("*iexplore")) {
            String webdriverIEDriver = properties.getWebDriverIEDriver();

            if (webdriverIEDriver != null) {
                System.setProperty("webdriver.ie.driver", webdriverIEDriver);
            }

            String browserVersion = properties.getBrowserVersion();

            if (browserVersion == null || browserVersion.equals("")) {
                throw new RuntimeException(
                        "When using IE as the browser, please set 'browser.version' in client properties");
            } else {
                if (browserVersion.startsWith("9")) {
                    desiredCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
                    desiredCapabilities.setCapability(
                            InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
                    wd = new InternetExplorerDriver(desiredCapabilities);
                } else {
                    wd = new InternetExplorerDriver(desiredCapabilities);
                }
            }
        } else if ((browser.equalsIgnoreCase("firefox") || browser.equalsIgnoreCase("*firefox"))) {
            final String ffProfileFolder = properties.getFirefoxProfileFolder();
            final String ffProfileFile = properties.getFirefoxProfileFile();
            final String path = properties.getFfBinaryPath();
            final FirefoxProfile ffp;
            if (ffProfileFolder != null) {
                ffp = new FirefoxProfile(new File(ffProfileFolder));
            } else {
                ffp = new FirefoxProfile();
            }

            if (ffProfileFile != null) {
                addPreferences(ffp, ffProfileFile);
            }

            addPreferences(ffp, properties);

            List<String> ffExtensions = properties.getFirefoxExtensions();
            if (ffExtensions != null && ffExtensions.size() > 0) {
                addExtensionsToFirefoxProfile(ffp, ffExtensions);
            }

            if (path != null) {
                FirefoxBinary fireFox = getFFBinary(path);
                wd = new FirefoxDriver(fireFox, ffp, desiredCapabilities);
            } else {
                wd = new FirefoxDriver(new FirefoxBinary(), ffp, desiredCapabilities);

            }
        } else if (browser.equalsIgnoreCase("chrome")) {

            final String webdriverChromeDriver = properties.getWebDriverChromeDriver();

            if (webdriverChromeDriver != null) {
                System.setProperty("webdriver.chrome.driver", webdriverChromeDriver);
            }

            final ChromeOptions chromeOptions = new ChromeOptions();
            final String chromeBinaryPath = properties.getChromeBinaryPath();
            if (chromeBinaryPath != null) {
                chromeOptions.setBinary(chromeBinaryPath);
            }

            if (properties.getAcceptedLanguages() != null) {

                final Map<String, Object> prefs = new HashMap<String, Object>();
                prefs.put("intl.accept_languages", properties.getAcceptedLanguages());
                chromeOptions.setExperimentalOption("prefs", prefs);
            }
            desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

            wd = new ChromeDriver(desiredCapabilities);

        } else if (browser.equalsIgnoreCase("safari")) {
            wd = new SafariDriver(desiredCapabilities);
        } else if (browser.equalsIgnoreCase("htmlunit")) {
            final BrowserVersion browserVersion = BrowserVersion.FIREFOX_45;
            if (properties.getAcceptedLanguages() != null) {
                browserVersion.setBrowserLanguage(properties.getAcceptedLanguages().split(",")[0]);
            }
            wd = new HtmlUnitDriver(browserVersion);
            ((HtmlUnitDriver) wd).setJavascriptEnabled(true);
        } else if (browser.equalsIgnoreCase("phantomjs")) {
            final String webdriverPhantomJSDriver = properties.getWebDriverPhantomJSDriver();
            if (properties.getAcceptedLanguages() != null) {
                desiredCapabilities.setCapability("phantomjs.page.customHeaders.Accept-Language",
                        properties.getAcceptedLanguages());
            }

            if (webdriverPhantomJSDriver != null) {
                desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
                        webdriverPhantomJSDriver);
                wd = new PhantomJSDriver(desiredCapabilities);
            } else {
                wd = new PhantomJSDriver(ResolvingPhantomJSDriverService.createDefaultService(),
                        desiredCapabilities);
            }
        } else {
            throw new IllegalArgumentException("Unsupported browser type: " + browser
                    + ". Supported browser types: IE, Firefox, Chrome, Safari, HtmlUnit, phantomjs.");
        }

        // move browser windows to specific position. It's useful for
        // debugging...
        final int browserInitPositionX = properties.getBrowserInitPositionX();
        final int browserInitPositionY = properties.getBrowserInitPositionY();
        if (browserInitPositionX != 0 || browserInitPositionY != 0) {
            wd.manage().window().setSize(new Dimension(1280, 1024));
            wd.manage().window().setPosition(new Point(browserInitPositionX, browserInitPositionY));
        }
        wd.manage().timeouts().implicitlyWait(properties.getAppearWaitTime(), TimeUnit.MILLISECONDS);
    }

    return wd;
}

From source file:de.tntinteractive.portalsammler.sources.HanVBSourceV1.java

License:Open Source License

@Override
public Pair<Integer, Integer> poll(final SourceSettings settings, final UserInteraction gui,
        final SecureStore store) throws Exception {
    final WebDriver driver = this
            .createDriver("https://www.hannoversche-volksbank.de/ptlweb/WebPortal?bankid=0744");

    final WebElement userField = driver.findElement(By.id("vrkennungalias"));
    userField.sendKeys(settings.get(USER, gui));

    final WebElement passwordField = driver.findElement(By.id("pin"));
    passwordField.sendKeys(settings.get(PASSWORD, gui));

    passwordField.submit();//from   w w w . j a va 2 s  .  co  m

    waitForPresence(driver, By.linkText("Postkorb"));

    int newDocs = 0;
    int knownDocs = 0;
    try {
        clickLink(driver, "Postkorb");
        waitForPresence(driver, By.name("confirmDeleteMultiMessage"));

        final WebElement form = driver.findElement(By.name("confirmDeleteMultiMessage"));
        final WebElement tbody = form.findElement(By.tagName("tbody"));

        final List<String> links = new ArrayList<String>();
        for (final WebElement tr : tbody.findElements(By.tagName("tr"))) {
            final List<WebElement> tds = tr.findElements(By.tagName("td"));
            final WebElement link = tds.get(2).findElement(By.tagName("a"));
            links.add(link.getAttribute("href"));
        }

        for (final String link : links) {
            driver.get(link);

            final DocumentInfo info = DocumentInfo.create(this.getId(), DocumentFormat.TEXT);
            final StringBuilder content = new StringBuilder();

            driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
            final WebElement fieldset = driver.findElement(By.tagName("fieldset"));
            for (final WebElement div : fieldset.findElements(By.tagName("div"))) {
                if (this.isLabeled(div, "Eingang")) {
                    info.setDate(this.parseTimestamp(div.findElement(By.className("gad-field-box")).getText()));
                } else if (this.isLabeled(div, "Betreff")) {
                    final WebElement data = div.findElement(By.className("gad-field-box"));
                    info.addKeywords(data.findElement(By.tagName("span")).getAttribute("title"));
                } else if (this.isNotLabeled(div)) {
                    content.append(div.getText());
                }
            }
            driver.manage().timeouts().implicitlyWait(WAIT_TIME, TimeUnit.SECONDS);

            if (!store.containsDocument(info)) {
                store.storeDocument(info, content.toString().getBytes("UTF-8"));
                newDocs++;
            } else {
                knownDocs++;
            }
        }

    } finally {
        clickLink(driver, "Logout");
    }
    return Pair.of(newDocs, knownDocs);
}

From source file:dk.netarkivet.systemtest.performance.DatabaseMigrationSanityTest.java

License:Open Source License

/**
 * Basic sanity test that the current production database can be consistently upgraded with the latest NAS software.
 * This test is designed to be cheap to run so it can easily be tested on any snapshot.
 *//*  ww w .j  av a  2s.  c om*/
@Test(groups = { "performancetest" })
public void dbMigrationSanityTest() throws Exception {
    WebDriver driver = new FirefoxDriver();
    TestGUIController TestGUIController = new TestGUIController(testController);
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
    String baseUrl = testController.ENV.getGuiHost() + ":" + testController.ENV.getGuiPort();
    PageHelper.initialize(driver, baseUrl);
    TestGUIController.waitForGUIToStart(60);
    addFixture("Opening NAS front page.");
    PageHelper.gotoPage(PageHelper.MenuPages.AliasSummary.Frontpage);
    addStep("Ingest some domains", "The domains should be created.");
    DomainWebTestHelper.createDomain(new String[] { "netarkivet.dk", "kb.dk", "kaarefc.dk" });
    WebElement element = null;
    try {
        element = driver.findElement(By.tagName("h4"));
    } catch (Exception e) {
        element = driver.findElement(By.id("message"));
    }
    NASAssert.assertTrue(element.getText().contains("These domains have now been created")
            || element.getText().contains("already exist"));
    addStep("Opening bitpreservation section of GUI.",
            "The page should open and show the number of files in the archive.");
    driver.findElement(By.linkText("Bitpreservation")).click();
    driver.getPageSource().matches("Number of files:.*[0-9]{2}");
    addStep("Create a selective harvest",
            "The harvest should be created successfully and be listed in the HD list");
    String harvestId = "harvest_" + (new Date()).getTime();
    SelectiveHarvestPageHelper.createSelectiveHarvest(harvestId, "a harvest",
            new String[] { "netarkivet.dk", "kb.dk" });
    NASAssert.assertTrue(driver.getPageSource().contains(harvestId),
            harvestId + " not found in harvest list after creation");

}

From source file:ec.edu.utpl.navegadorserendipity.Navegador.java

public static void main(String[] args) throws AWTException {
    WebDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();
    list.clear();//from w  ww .  j  a  v a2s  .  c om
    list.add("java");
    list.add("estadistica");
    list.add("fsica");
    list.add("matematicas");
    list.add("quimica");
    list.add("biologa");
    list.add("anatoma");
    list.add("electrnica");
    list.add("finanzas");
    list.add("politica");
    list.add("calculo");
    list.add("analisis de datos");
    list.add("gastronomy");
    list.add("robotica");
    list.add("robotica");
    list.add("fisiologia");

    list.add("science");
    list.add("english");
    list.add("post-secondary");
    list.add("management");
    list.add("history");
    list.add("mathematics");
    list.add("ciencias");
    list.add("electrical engineering and computer science");
    list.add("literature");
    list.add("health");
    list.add("economics");
    list.add("urban studies and planning");
    list.add("education");
    list.add("engineering");
    list.add("caminos");
    list.add("architecture");
    list.add("ciencias sociales y juridicas");
    list.add("culture");
    list.add("political science");
    list.add("humanities");
    list.add("physics");
    list.add("biology");
    list.add("politics");
    list.add("downloadable documents");
    list.add("earth atmospheric and planetary sciences");
    list.add("ingenieria");
    list.add("arquitectura");
    list.add("mechanical engineering");
    list.add("technology");
    list.add("writing");
    list.add("arts and humanities");
    list.add("brain and cognitive sciences");
    list.add("design");
    list.add("enginyeria");
    list.add("sciences");
    list.add("policy");
    list.add("environment");
    list.add("foreign languages and literatures");
    list.add("economia");
    list.add("matematica aplicada");
    list.add("audio");
    list.add("language");
    list.add("ciencias de la salud");
    list.add("derecho");
    list.add("linguistics and philosophy");
    list.add("ensenanzas tecnicas");
    list.add("lenguajes y sistemas informaticos");
    list.add("civil and environmental engineering");
    list.add("chemistry");
    list.add("gender");
    list.add("sociales");
    list.add("communication");
    list.add("medicine");
    list.add("ciencias sociales");
    list.add("faculty");
    list.add("philosophy");
    list.add("media");
    list.add("arquitectura y tecnologia de computadores");
    list.add("general");
    list.add("construccion");
    list.add("social sciences");
    list.add("anthropology");
    list.add("aeronautics and astronautics");
    list.add("civil");
    list.add("health and social care");
    list.add("race");
    list.add("international");
    list.add("juridicas");
    list.add("globalization");
    list.add("writing and humanistic studies");
    list.add("ethics");
    list.add("electronica");
    list.add("special programs");
    list.add("audio lectures");
    list.add("learning");
    list.add("music and theater arts");
    list.add("public");
    list.add("informatica tecnologia i multimedia");
    list.add("social");
    list.add("business and management");
    list.add("analysis");
    list.add("economia aplicada");
    list.add("society");
    list.add("statistics");
    list.add("religion");
    list.add("mathematics and statistics");
    list.add("identity");
    list.add("video");
    list.add("materials science and engineering");
    list.add("centre for higher education development");
    list.add("ocw");
    list.add("business");
    list.add("energy");
    list.add("innovation");
    list.add("development");
    list.add("psychology");
    list.add("text/html webpages");
    list.add("matematicas");
    list.add("educacion");
    list.add("law");
    list.add("internet");
    list.add("engineering and technology");
    list.add("health sciences and technology");
    list.add("structure");
    list.add("media arts and sciences");
    list.add("film");
    list.add("disease");
    list.add("cursos gratuitos");
    list.add("information");
    list.add("ingenieria informatica");
    list.add("notre dame");
    list.add("sistemas");
    list.add("thermodynamics");
    list.add("ciencia");
    list.add("geologica");
    list.add("science technology and society");
    list.add("biotechnology");
    list.add("evolution");
    list.add("open");
    list.add("health sciences");
    list.add("engineering systems division");
    list.add("courseware");
    list.add("research");
    list.add("quimica");
    list.add("telecomunicacions");
    list.add("poverty");
    list.add("fisica");
    list.add("readings");
    list.add("urban planning");
    list.add("planning");
    list.add("nuclear engineering");
    list.add("reading");
    list.add("poetry");
    list.add("didactica y organizacion escolar");
    list.add("informatica");
    list.add("mecanica");
    list.add("languages");
    list.add("computacion");
    list.add("scotland");
    list.add("analisis matematico");
    list.add("arquitectura e ingenieria");
    list.add("arts");
    list.add("studies");
    list.add("algebra");
    list.add("resources");
    list.add("genetics");
    list.add("narrative");
    list.add("dna");
    list.add("psicologia");
    list.add("art");
    list.add("systems");
    list.add("power");
    list.add("china");
    list.add("global");
    list.add("risk");
    list.add("humanidades");
    list.add("life");
    list.add("biological engineering");
    list.add("theory");
    list.add("teoria de la senal y comunicaciones");
    list.add("supplemental");
    list.add("war");
    list.add("artificial");
    list.add("filologia inglesa");
    list.add("ingenieria mecanica");
    list.add("ingenieria telematica");
    list.add("political");
    list.add("analisis");
    list.add("marketing");
    list.add("probability");
    list.add("community");
    list.add("sexuality");
    list.add("democracy");
    list.add("materials");
    list.add("comunicacion");
    list.add("dibujo");
    list.add("public policy");
    list.add("teaching");
    list.add("strategy");
    list.add("biostatistics");
    list.add("construction");
    list.add("organizacion");
    list.add("geesoer");
    list.add("environmental");
    list.add("human");
    list.add("ingenieria de sistemas y automatica");
    list.add("economia financiera y contabilidad");
    list.add("training materials");
    list.add("decision making");
    list.add("music");
    list.add("salud");
    list.add("artificial intelligence");
    list.add("ingenieria quimica");
    list.add("artes y humanidades");
    list.add("behavior");
    list.add("fisica aplicada");
    list.add("brain");
    list.add("matematiques");
    list.add("inteligencia");
    list.add("grammar");
    list.add("chemical engineering");
    list.add("information technology");
    list.add("fine art");
    list.add("for");
    list.add("memory");
    list.add("modeling");
    list.add("programacion");
    list.add("cad");
    list.add("calculo");
    list.add("optimization");
    list.add("tecnologia electronica");
    list.add("united states");
    list.add("school");
    list.add("finance");
    list.add("workshop");
    list.add("government");
    list.add("europe");
    list.add("agriculture");
    list.add("estadistica e investigacion operativa");
    list.add("performance");
    list.add("digital");
    list.add("public lecture");
    list.add("water");
    list.add("gipca");
    list.add("climate change");
    list.add("composition");
    list.add("linguistics");
    list.add("matlab");
    list.add("centre for open learning");
    list.add("competition");
    list.add("latin  america");
    list.add("ingenieria y arquitectura");
    list.add("diversos");
    list.add("economic development");
    list.add("africa");
    list.add("tecnicas");
    list.add("educacion fisica y deportiva");
    list.add("empresa");
    list.add("conference");
    list.add("informacio i comunicacio");
    list.add("transportation");
    list.add("conflict");
    list.add("sociologia");
    list.add("linear algebra");
    list.add("class");
    list.add("leadership");
    list.add("ethnicity");
    list.add("computer");
    list.add("psicologia social");
    list.add("story-telling");
    list.add("tectonics");
    list.add("presentations");
    list.add("international relations");
    list.add("diversity");
    list.add("genes");
    list.add("stress");
    list.add("sustainability");
    list.add("bio_chemistry");
    list.add("textbooks");
    list.add("software");
    list.add("design process");
    list.add("computation");
    list.add("laboratory");
    list.add("economic");
    list.add("ecologia");
    list.add("nature");
    list.add("perception");
    list.add("chinese");
    list.add("shakespeare");
    list.add("photography");
    list.add("methods");
    list.add("lengua espanola");
    list.add("natural");
    list.add("other");
    list.add("gestion");
    list.add("earth");
    list.add("administracion");
    list.add("psicologia basica");
    list.add("informaticos");
    list.add("investigacion");
    list.add("fiction");
    list.add("novel");
    list.add("didactica de la expresion corporal");
    list.add("entrepreneurship");
    list.add("theater");
    list.add("manufacturing");
    list.add("diffusion");
    list.add("rna");
    list.add("ecology");
    list.add("television");
    list.add("programming");
    list.add("modern");
    list.add("control");
    list.add("population");
    list.add("nutrition");
    list.add("ukoer");
    list.add("representation");
    list.add("cities");
    list.add("desarrollo");
    list.add("sociology");
    list.add("industrialization");
    list.add("ciencies");
    list.add("structures");
    list.add("simulation");
    list.add("intellectual property");
    list.add("sampling");
    list.add("lecture notes");
    list.add("security");
    list.add("translation");
    list.add("cognition");
    list.add("cursos");
    list.add("enfermeria");
    list.add("networks");
    list.add("aprendizaje");
    list.add("uncertainty");
    list.add("global warming");
    list.add("matrices");
    list.add("mammals");
    list.add("communications");
    list.add("speaking");
    list.add("game theory");
    list.add("spanish");
    list.add("vision");
    list.add("infectious");
    list.add("drama");
    list.add("comparative media studies");
    list.add("urban");
    list.add("commerce");
    list.add("space");
    list.add("pedagogia");
    list.add("urban design");
    list.add("centre for educational technology");
    list.add("aplicada");
    list.add("america");
    list.add("derecho del trabajo y de la seguridad social");
    list.add("teaching_techniques");
    list.add("cursos de profesional");
    list.add("e-motion");
    list.add("nationalism");
    list.add("biblioteconomia y documentacion");
    list.add("biblioteconomia i documentacio");
    list.add("family");
    list.add("ensenanza");
    list.add("algorithms");
    list.add("immigration");
    list.add("food");
    list.add("center");
    list.add("energia");
    list.add("housing");
    list.add("risk management");
    list.add("renaissance");
    list.add("comunicacion audiovisual y publicidad");
    list.add("organitzacio");
    list.add("ingenierias");
    list.add("multi-media");
    list.add("vocabulary");
    list.add("quantum mechanics");
    list.add("creativity");
    list.add("gis");
    list.add("negotiation");
    list.add("courses");
    list.add("cancer");
    list.add("conversation");
    list.add("sensors");
    list.add("calculus");
    list.add("radiation");
    list.add("asia");
    list.add("political theory");
    list.add("proyectos de ingenieria");
    list.add("molecular biology");
    list.add("modelling");
    list.add("case studies");
    list.add("diseno");
    list.add("documentacion");
    list.add("public health");
    list.add("d'empreses");
    list.add("ciencias experimentales");
    list.add("military");
    list.add("pricing");
    list.add("didactica");
    list.add("economica");
    list.add("matematica");
    list.add("capitalism");
    list.add("espanol");
    list.add("funciones");
    list.add("lenguajes");
    list.add("women");
    list.add("contabilidad");
    list.add("logic");
    list.add("medicina");
    list.add("aesthetics");
    list.add("estructura");
    list.add("historia");
    list.add("cultural");
    list.add("contemporary");
    list.add("japan");
    list.add("electromagnetism");
    list.add("human rights");
    list.add("migration");
    list.add("planificacion");
    list.add("ciencias juridicas");
    list.add("maths_modelling");
    list.add("derecho constitucional");
    list.add("pollution");
    list.add("regression");
    list.add("aristotle");
    list.add("economy");
    list.add("synthesis");
    list.add("american");
    list.add("feminism");
    list.add("decision-making");
    list.add("neuroscience");
    list.add("dynamic programming");
    list.add("sustainable development");
    list.add("plasticity");
    list.add("diabetes");
    list.add("monitoring");
    list.add("models");
    list.add("quimica fisica");
    list.add("place");
    list.add("integration");
    list.add("data");
    list.add("computing");
    list.add("film and media studies");
    list.add("mechanics");
    list.add("artes");
    list.add("student work");
    list.add("welfare");
    list.add("dynamics");
    list.add("animals");
    list.add("estado");
    list.add("zoologia");
    list.add("gestao empresarial");
    list.add("stability");
    list.add("relationships");
    list.add("audio-visual");
    list.add("intercultural and diversity studies");
    list.add("cristalografia y mineralogia");
    list.add("video lectures");
    list.add("entropy");
    list.add("holiday");
    list.add("differential equations");
    list.add("expresion grafica en la ingenieria");
    list.add("cienciasss");
    list.add("tic");
    list.add("materiales");
    list.add("calidad");
    list.add("games");
    list.add("gene expression");
    list.add("noise");
    list.add("genomics");
    list.add("python");
    list.add("care");
    list.add("training");
    list.add("differentiation");
    list.add("infrastructure");
    list.add("organizacion de empresas");
    list.add("neighborhood");
    list.add("discussion");
    list.add("plato");
    list.add("advertising");
    list.add("institutions");
    list.add("teamwork");
    list.add("project management");
    list.add("geography");
    list.add("slavery");
    list.add("mandarin");
    list.add("listening");
    list.add("french");
    list.add("organization");
    list.add("termodinamica");
    list.add("derecho civil");
    list.add("india");
    list.add("estructuras");
    list.add("trabajo");
    list.add("reproduction");
    list.add("comunicacio audiovisual i publicitat");
    list.add("fisiologia");
    list.add("filosofia");
    list.add("ingenieria electrica");
    list.add("world");
    list.add("sex");
    list.add("computers");
    list.add("terrorism");
    list.add("child");
    list.add("formacion");
    list.add("cooperacio");
    list.add("text");
    list.add("objects");
    list.add("historical");
    list.add("rhetoric");
    list.add("geografia humana");
    list.add("integracion");
    list.add("production");
    list.add("markets");
    list.add("econometrics");
    list.add("functions");
    list.add("information systems");
    list.add("and ocean sciences");
    list.add("product design");
    list.add("microeconomia");
    list.add("equity");
    list.add("cooperation");
    list.add("data structures");
    list.add("bible");
    list.add("function");
    list.add("on");
    list.add("climate");
    list.add("collaboration");
    list.add("modernism");
    list.add("knowledge");
    list.add("sistema");
    list.add("quimica organica");
    list.add("data analysis");
    list.add("derecho administrativo");
    list.add("cosmology");
    list.add("landscape");
    list.add("ingenieria agroforestal");
    list.add("racism");
    list.add("product development");
    list.add("industry");
    list.add("mass");
    list.add("seguridad");
    list.add("letters");
    list.add("electricidad");
    list.add("classical music");
    list.add("seminar");
    list.add("sociedad");
    list.add("proteins");
    list.add("motion");
    list.add("experiment");
    list.add("oral presentation");
    list.add("cloning");
    list.add("bioinformatics");
    Robot robot = new Robot(); // Robot class throws AWT Exception  
    while (true) {
        Random random = new Random();
        int aleatorio_app = random.nextInt(2);
        //int aleatorio_app = 1;
        if (aleatorio_app == 0) {

            driver.get("http://j4loxa.com/datalab/serendipity/");
            robot.delay(10000);
            driver.get("http://serendipity.utpl.edu.ec/");
            robot.delay(5000);
            //element.sendKeys("java");

            //for (int i = 0; i < list.size(); i++) {
            int value = random.nextInt(list.size());
            System.out.println("aleaotrio: " + value);
            WebElement element = driver.findElement(By.name("q"));
            String word = list.get(value);
            type(word, element, robot);
            element.submit();
            System.out.println("Page title is: " + driver.getTitle());
            robot.delay(5000);
            WebElement txt = driver.findElement(By.className("text-success"));
            int num = 0;
            for (StringTokenizer stringTokenizer = new StringTokenizer(txt.getText()); stringTokenizer
                    .hasMoreTokens();) {
                String token = stringTokenizer.nextToken();
                num = Integer.parseInt(token);
                break;
            }
            int numveces = 0;
            if (num > 16) {
                numveces = 16;
            } else if (num > 0) {
                numveces = num;
            }
            System.out.println(">>>>>>>>>>>>>>>  " + txt.getText());
            JavascriptExecutor jsx = (JavascriptExecutor) driver;
            //int y = 350;
            for (int j = 0; j < numveces; j++) {
                jsx.executeScript("window.scrollBy(0, 350)", "");
                robot.delay(2000);
                //y += 350;
            }
            //jsx.executeScript("window.scroll(0, -250);");
            for (int j = 0; j < numveces * 8; j++) {
                jsx.executeScript("window.scrollBy(0, -50)", "");
                robot.delay(250);
            }
            jsx.executeScript("window.scroll(0, -50);");

            if (num > 0) {

                List<WebElement> elementos = driver.findElements(By.xpath("//h4[@property='title']"));
                System.out.println(elementos.size());

                int aleatorio2 = random.nextInt(elementos.size());
                WebElement get = elementos.get(aleatorio2);
                WebElement ele = get.findElement(By.tagName("a"));
                System.out.println(ele.getAttribute("href"));
                ele.sendKeys("");
                robot.delay(5000);
                WebDriverWait wait = new WebDriverWait(driver, 1);
                driver.get(ele.getAttribute("href"));
                robot.delay(10000);
                wait.until(ExpectedConditions.presenceOfElementLocated(By.className("accordion-group")));
                WebElement acordeon = driver.findElement(By.className("accordion-group"));

                List<WebElement> acs = acordeon.findElements(By.className("accordion-toggle"));
                for (int j = 0; j < acs.size(); j++) {
                    WebElement get1 = acs.get(j);

                    //System.out.println("acordeon: "+get1.getAttribute("href"));
                    get1.click();
                    robot.delay(5000);

                }

                //                WebElement primer = driver.findElement(By.xpath("//div[@class='span9']"));
                //                WebElement seg = primer.findElement(By.xpath("//div[@class='span6 thumbnail']"));
                //                WebElement ter = seg.findElement(By.xpath("//a[@class='fancybox fancybox.iframe']"));
                //                System.out.println(ter.getAttribute("href"));
                //                
                //                ter.sendKeys("");
                //                robot.delay(5000);
                //                driver.get(ter.getAttribute("href"));
                //                robot.delay(10000);
                //                driver.navigate().back();
                //                robot.delay(10000);
            }

            WebElement reset = driver.findElement(By.id("resetBtn"));
            JavascriptExecutor executor = (JavascriptExecutor) driver;
            executor.executeScript("arguments[0].click();", reset);

            //                    if (i < list.size() - 1) {
            //                        driver.get("http://j4loxa.com/datalab/serendipity/");
            //                        robot.delay(10000);
            //                        driver.get("http://serendipity.utpl.edu.ec/");
            //                        robot.delay(5000);
            //                    }
            //}
        } else if (aleatorio_app == 10) {
            driver.get("http://j4loxa.com/datalab/ocwtagrecommender/");
            robot.delay(10000);
            driver.get("http://j4loxa.com/snaocwservices/");
            robot.delay(5000);
            int value = random.nextInt(list.size());
            WebElement element = driver.findElement(By.id("tag"));
            String word = list.get(value);
            type(word, element, robot);
            robot.delay(1000);
            WebDriverWait wait = new WebDriverWait(driver, 1);
            wait.until(ExpectedConditions.presenceOfElementLocated(By.id("ui-id-1")));
            element.sendKeys(Keys.ARROW_DOWN);
            robot.keyPress(KeyEvent.VK_ENTER);
            element.sendKeys(Keys.ENTER);
            robot.delay(1000);
            //robot.keyPress(KeyEvent.VK_RIGHT);

            //wait.until(ExpectedConditions.presenceOfElementLocated(By.id("ui-id-1")));
            //WebElement ele = driver.findElement(By.id("ui-id-1"));
            //ele.click();
            //ele.click();
            //robot.keyPress(KeyEvent.VK_ENTER);
            System.out.println("Page title is: " + driver.getTitle());
            robot.delay(15000);
            List<WebElement> eles = driver.findElements(By.tagName("text"));
            System.out.println(">>>>>> " + eles.size());
            if (eles.size() > 0) {
                eles.get(0).click();
                robot.delay(10000);
            }
        } else if (aleatorio_app == 1) {
            driver.get("http://ambar.utpl.edu.ec/about");
            robot.delay(10000);
            int aleatorio_ambar = random.nextInt(3);
            if (aleatorio_ambar == 0) {
                driver.get("http://ambar.utpl.edu.ec/dataset");
                robot.delay(5000);
                List<WebElement> li = driver.findElements(By.className("dataset-heading"));
                System.out.println(">>>>>>>>>>>" + li.size());
                JavascriptExecutor jsx = (JavascriptExecutor) driver;
                for (int j = 0; j < li.size(); j++) {
                    jsx.executeScript("window.scrollBy(0, 150)", "");
                    robot.delay(2000);
                }
                for (int j = 0; j < li.size() * 4; j++) {
                    jsx.executeScript("window.scrollBy(0, -50)", "");
                    robot.delay(250);
                }
                int aleatorio_li = random.nextInt(li.size());
                WebElement e = li.get(aleatorio_li);
                WebElement el = e.findElement(By.tagName("a"));
                el.sendKeys("");
                String link = el.getAttribute("href");
                System.out.println(">>>>>>>>>>>" + link);
                driver.get(link);
                robot.delay(10000);
                WebDriverWait wait = new WebDriverWait(driver, 1);
                wait.until(
                        ExpectedConditions.presenceOfElementLocated(By.xpath("//ul[@class='nav nav-tabs']")));
                WebElement ul = driver.findElement(By.xpath("//ul[@class='nav nav-tabs']"));
                if (ul != null) {
                    List<WebElement> tabs = ul.findElements(By.tagName("a"));
                    System.out.println("num tabs: " + tabs.size());
                    //List<String> links = new ArrayList<>();
                    for (int j = 1; j < tabs.size(); j++) {
                        WebElement get1 = tabs.get(j);
                        //System.out.println("tab: " + get1.getText());
                        //WebElement a = get1.findElement(By.tagName("a"));
                        System.out.println("tab: " + get1.getAttribute("href"));
                        //wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//ul[@class='nav nav-tabs']")));
                        //driver.get(get1.getAttribute("href"));
                        //links.add(a.getAttribute("href"));
                        //get1.click();
                        //robot.delay(5000);
                    }
                    robot.delay(5000);
                }

            } else if (aleatorio_ambar == 1) {
                driver.get("http://ambar.utpl.edu.ec/organization");
                robot.delay(5000);
                List<WebElement> li = driver.findElements(By.className("media-view"));
                System.out.println(">>>>>>>>>>>" + li.size());
                JavascriptExecutor jsx = (JavascriptExecutor) driver;
                for (int j = 0; j < li.size() / 2; j++) {
                    jsx.executeScript("window.scrollBy(0, 250)", "");
                    robot.delay(2000);
                }
                for (int j = 0; j < li.size() * 4; j++) {
                    jsx.executeScript("window.scrollBy(0, -50)", "");
                    robot.delay(250);
                }
                int aleatorio_li = random.nextInt(li.size());
                WebElement e = li.get(aleatorio_li);
                e.sendKeys("");
                String link = e.getAttribute("href");
                System.out.println(">>>>>>>>>>>" + link);
                driver.get(link);
                robot.delay(10000);
                WebDriverWait wait = new WebDriverWait(driver, 1);
                wait.until(
                        ExpectedConditions.presenceOfElementLocated(By.xpath("//ul[@class='nav nav-tabs']")));
                WebElement ul = driver.findElement(By.xpath("//ul[@class='nav nav-tabs']"));
                if (ul != null) {
                    List<WebElement> tabs = ul.findElements(By.tagName("a"));
                    System.out.println("num tabs: " + tabs.size());

                    for (int j = 1; j < tabs.size(); j++) {
                        WebElement get1 = tabs.get(j);
                        //System.out.println("tab: " + get1.getText());
                        //WebElement a = get1.findElement(By.tagName("a"));
                        System.out.println("tab: " + get1.getAttribute("href"));
                        //get1.click();
                        //wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//ul[@class='nav nav-tabs']")));
                        //driver.get(get1.getAttribute("href"));
                        //robot.delay(5000);

                    }
                    robot.delay(5000);
                }
            } else if (aleatorio_ambar == 2) {
                driver.get("http://ambar.utpl.edu.ec/group");
                robot.delay(5000);
                List<WebElement> li = driver.findElements(By.className("media-view"));
                System.out.println(">>>>>>>>>>>" + li.size());
                JavascriptExecutor jsx = (JavascriptExecutor) driver;
                for (int j = 0; j < li.size() / 2; j++) {
                    jsx.executeScript("window.scrollBy(0, 250)", "");
                    robot.delay(2000);
                }
                for (int j = 0; j < li.size() * 4; j++) {
                    jsx.executeScript("window.scrollBy(0, -50)", "");
                    robot.delay(250);
                }
                int aleatorio_li = random.nextInt(li.size());
                WebElement e = li.get(aleatorio_li);
                e.sendKeys("");
                String link = e.getAttribute("href");
                System.out.println(">>>>>>>>>>>" + link);
                driver.get(link);
                robot.delay(10000);
                WebDriverWait wait = new WebDriverWait(driver, 1);
                wait.until(
                        ExpectedConditions.presenceOfElementLocated(By.xpath("//ul[@class='nav nav-tabs']")));
                WebElement ul = driver.findElement(By.xpath("//ul[@class='nav nav-tabs']"));
                if (ul != null) {
                    List<WebElement> tabs = ul.findElements(By.tagName("a"));
                    System.out.println("num tabs: " + tabs.size());
                    for (int j = 1; j < tabs.size(); j++) {
                        WebElement get1 = tabs.get(j);
                        //System.out.println("tab: " + get1.getText());
                        //WebElement a = get1.findElement(By.tagName("a"));
                        System.out.println("tab: " + get1.getAttribute("href"));
                        //get1.click();
                        //wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//ul[@class='nav nav-tabs']")));
                        //driver.get(get1.getAttribute("href"));

                    }
                    robot.delay(5000);
                }
            }
        }

    }
    //jsx.executeScript("window.history.go(-1)");
    //robot.delay(5000);
    //driver.quit();

}

From source file:edu.samplu.common.WebDriverUtil.java

License:Educational Community License

/**
 * Setup the WebDriver test, login, and load the given web page
 *
 * @param username//from   w  ww.  j  a v  a2s .co m
 * @param url
 * @param className
 * @param testName
 * @return driver
 * @throws Exception
 */
public static WebDriver setUp(String username, String url, String className, String testName) throws Exception {
    if ("true".equals(System.getProperty(REMOTE_JGROWL_ENABLED, "false"))) {
        jGrowlEnabled = true;
    }

    if ("true".equals(System.getProperty(JS_HIGHLIGHT_PROPERTY, "false"))) {
        jsHighlightEnabled = true;
        if (System.getProperty(JS_HIGHLIGHT_INPUT_PROPERTY) != null) {
            InputStream in = WebDriverUtil.class
                    .getResourceAsStream(System.getProperty(JS_HIGHLIGHT_INPUT_PROPERTY));
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String line = null;
            List<String> lines = new LinkedList<String>();
            while ((line = reader.readLine()) != null) {
                lines.add(line);
            }
        }
    }

    WebDriver driver = null;
    if (System.getProperty(REMOTE_DRIVER_SAUCELABS_PROPERTY) == null) {
        driver = getWebDriver();
    } else {
        SauceLabsWebDriverHelper saucelabs = new SauceLabsWebDriverHelper();
        saucelabs.setUp(className, testName);
        driver = saucelabs.getDriver();
    }

    driver.manage().timeouts().implicitlyWait(SETUP_URL_LOAD_WAIT_SECONDS, TimeUnit.SECONDS);

    if (!System.getProperty(SauceLabsWebDriverHelper.SAUCE_BROWSER_PROPERTY, "ff").equals("opera")) {
        driver.manage().window().maximize();
    }

    // TODO Got into the situation where the first url doesn't expect server, but all others do.  Readdress once
    // the NavIT WDIT conversion has been completed.
    if (!url.startsWith("http")) {
        url = ITUtil.getBaseUrlString() + url;
    }

    driver.get(url);
    driver.manage().timeouts().implicitlyWait(DEFAULT_IMPLICIT_WAIT_TIME, TimeUnit.SECONDS);
    return driver;
}