Example usage for org.openqa.selenium.firefox FirefoxDriver close

List of usage examples for org.openqa.selenium.firefox FirefoxDriver close

Introduction

In this page you can find the example usage for org.openqa.selenium.firefox FirefoxDriver close.

Prototype

@Override
    public void close() 

Source Link

Usage

From source file:applango.common.dashboardTests.java

@Test
@Ignore// w w  w .j a  v a  2s. c om
public void testDashboardFilterDate() throws ParserConfigurationException, SAXException, IOException {
    Applango applango = getApplangoConfigurationXML();
    FirefoxDriver driver1 = getFirefoxDriver();
    WebDriverWait wait1 = new WebDriverWait(driver1, 15);
    wait1.withTimeout(50, TimeUnit.SECONDS);
    try {
        genericApplangoWebsiteActions.openDashboardAndLogin(applango, driver1, wait1);
        //            genericApplangoWebsiteActions.filterLicenseType(driver1, wait1, SALESFORCE);
        filterByDate(driver1, wait1, "2013", months.SEPTEMBER, "", months.JANUARY); //Blank toYear in order to keep is till 2014

        genericApplangoWebsiteActions.waitForUsersTableToLoad(wait1);

    } catch (Exception ex) {
        logger.error(ex.getMessage());
        fail("Failed due to : " + ex.getMessage());
    } finally {
        driver1.close();
    }
}

From source file:applango.common.dashboardTests.java

@Test
@Ignore/*from w w  w. j a  v  a  2 s  . c o m*/
public void testResetPasswordEmailRecieved() throws ParserConfigurationException, SAXException, IOException {
    logger.info("********************************************* Running  "
            + Thread.currentThread().getStackTrace()[1].getMethodName()
            + "*********************************************");
    Gmail gmail = genericGmailWebsiteActions.getGmailConfigurationXML();
    FirefoxDriver driver = getFirefoxDriver();
    FirefoxDriver driver1 = getFirefoxDriver();
    WebDriverWait wait = new WebDriverWait(driver, 15);
    WebDriverWait wait1 = new WebDriverWait(driver1, 15);
    Applango applango = getApplangoConfigurationXML();
    String validUsername = applango.getUsername();
    long sleepTime = 13000;
    final String connection = dbTables.emailToken.getValue().toString();

    try {
        //Remove emailTokens
        logger.info("Connect to db table " + connection);
        DBCollection coll = db.getCollection(connection);
        mongoDB.removeRecordsFromDB(applango, coll);

        //Gmail Get Inbox
        logger.info("Open Gamil and get current inbox amount");
        loginToGmail(gmail, driver, wait);
        String amountOfMailBeforeResetPassword = genericGmailWebsiteActions.getInboxLabel(driver);
        //Applango Recover Password
        logger.info("Recover Password via dashboard login page ");
        genericApplangoWebsiteActions.openDashboard(applango, driver1, wait1);
        genericApplangoWebsiteActions.clickOnForgotPassword(driver1, wait1);
        genericApplangoWebsiteActions.enterUsernameInForgotPasswordTextfield(driver1, validUsername);
        genericApplangoWebsiteActions.clickOnRecoverPassword(driver1, wait1);

        logger.info("Get new token from DB");
        String token = mongoDB.getSpecialToken(applango, coll);
        token = mongoDB.encodeToken(token);
        logger.info("Token is " + token);

        //Gmail click on link and set new password
        logger.info(
                "Wait few seconds and click on Inbox label in order to refresh inbox and compare no. of mails in order to make sure mail received");
        genericGmailWebsiteActions.checkNewMailRecieved(driver, sleepTime, amountOfMailBeforeResetPassword);

    } catch (Exception ex) {
        logger.error(ex.getMessage());

        fail("Failed due to : " + ex.getMessage());
    } finally {
        driver.close();
        driver1.close();
    }
}

From source file:applango.common.dashboardTests.java

@Test
@Ignore/* w ww  .  j a  v  a2 s. c  om*/
public void testResettingPasswordFromEmail() throws ParserConfigurationException, SAXException, IOException {
    logger.info("********************************************* Running  "
            + Thread.currentThread().getStackTrace()[1].getMethodName()
            + "*********************************************");
    Gmail gmail = genericGmailWebsiteActions.getGmailConfigurationXML();
    FirefoxDriver driver1 = getFirefoxDriver();
    WebDriverWait wait1 = new WebDriverWait(driver1, 15);
    Applango applango = getApplangoConfigurationXML();
    String validPassword = applango.getPassword();
    String invalidPasswordNoDigits = "NoDigitsPwd";
    String invalidPasswordNoChars = "123456789";
    String invalidPasswordTooShort = "12345a";
    long sleepTime = 13000;
    //        Database dbProperties = getDatabaseConfigurationXML();
    final String connection = dbTables.emailToken.getValue().toString();
    try {
        logger.info("Get new token from DB");
        //            DB db = connectToDB(dbProperties);
        DBCollection coll = db.getCollection(connection);
        String token = mongoDB.getSpecialToken(applango, coll);
        token = mongoDB.encodeToken(token);
        logger.info("Token is " + token);

        logger.info("Try again to open mail and locate link..");
        loginToGmail(gmail, driver1, wait1);

        logger.info("Check that the mail is from applango with correct subject)");
        genericGmailWebsiteActions.checkMailSubjectIsResetPassword(driver1);
        genericGmailWebsiteActions.checkMailSenderIsApplango(driver1);
        genericGmailWebsiteActions.clickOnFirstMail(driver1, wait1);

        genericGmailWebsiteActions.waitForMailToLoad(wait1);
        genericGmailWebsiteActions.checkResetPasswordToken(driver1, token);
        genericGmailWebsiteActions.clickOnChangePasswordLink(driver1);

        logger.info("Set new Password in Change Password screen");
        String gmailWinID = controlAndSwitchWindow(driver1);
        genericApplangoWebsiteActions.checkEnterNewPasswordScreenLoaded(driver1, wait1);

        logger.info("Negative test - set password with invalid passwords");
        genericApplangoWebsiteActions.fillChangePasswordAndSubmit(driver1, null, validPassword,
                validPassword + "A", true);
        genericApplangoWebsiteActions.checkChangePasswordMessage(driver1,
                applangoMessages.CHANGE_PASSWORD_NOT_MATCH);

        genericApplangoWebsiteActions.fillChangePasswordAndSubmit(driver1, null, invalidPasswordNoChars,
                invalidPasswordNoChars, true);
        genericApplangoWebsiteActions.checkChangePasswordMessage(driver1,
                applangoMessages.CHANGE_PASSWORD_INVALID_LETTERS_AND_NUMBERS);

        genericApplangoWebsiteActions.fillChangePasswordAndSubmit(driver1, null, invalidPasswordNoDigits,
                invalidPasswordNoDigits, true);
        genericApplangoWebsiteActions.checkChangePasswordMessage(driver1,
                applangoMessages.CHANGE_PASSWORD_INVALID_LETTERS_AND_NUMBERS);

        genericApplangoWebsiteActions.fillChangePasswordAndSubmit(driver1, null, invalidPasswordTooShort,
                invalidPasswordTooShort, true);
        genericApplangoWebsiteActions.checkChangePasswordMessage(driver1,
                applangoMessages.CHANGE_PASSWORD_INVALID_TOO_SHORT);

        logger.info("Set valid Password in Change Password screen");
        genericApplangoWebsiteActions.fillChangePasswordAndSubmit(driver1, null, validPassword, validPassword,
                true);

        logger.info("Verify pop up message and click on 'Yes'");
        controlAndSwitchWindow(driver1);
        genericApplangoWebsiteActions.verifyPasswordSuccessfulyChangedMessageAppear(driver1);

        //Applango login with new password
        logger.info("Login with new password");
        genericApplangoWebsiteActions.openDashboardAndLogin(applango, driver1, wait1);
    } catch (Exception ex) {
        logger.error(ex.getMessage());
        fail("Failed due to : " + ex.getMessage());
    } finally {
        driver1.close();
    }
}

From source file:com.coinbot.core.Worker.java

License:Open Source License

@Override
public void run() {
    File pathToBinary = new File("/home/jian/Descargas/firefox46/bin/firefox");
    // Firefox 46 needed
    FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
    FirefoxProfile profile = new FirefoxProfile();
    FirefoxDriver driver = new FirefoxDriver(ffBinary, profile);
    CoinbotApplication.ui.workerQueue.addWorker(workerPanel);

    while (CoinbotApplication.bot.isRunning()) {
        // Sacamos un "claim" de la cola
        Claim claim = CoinbotApplication.bot.getClaimQueue().next();
        if (claim == null) {
            continue;
        }//  w w w  . jav a 2s  .  co  m

        claim.getPanel().reset();
        claim.getPanel().getProgressBar().setMaximum(10);
        workerPanel.addClaim(claim.getPanel());
        claim.getPanel().nextStep("Opening URL");

        try {
            driver.manage().timeouts().pageLoadTimeout(12, TimeUnit.SECONDS);
            driver.navigate().to(new URL(claim.getFaucet().getUrl()));
        } catch (MalformedURLException e) {
            e.printStackTrace();
            continue;
        } catch (TimeoutException e) {
            // Busca un elemento, si no lo encuentra que vuelva a cargar
            e.printStackTrace();
        }

        // Detectando captcha
        claim.getPanel().nextStep("Detecting Captcha");
        CaptchaDetector captchaDetector = new CaptchaDetector();
        CaptchaService captcha = null;

        try {
            captcha = captchaDetector.find(driver, driver.findElement(By.tagName("body")));
        } catch (NoSuchElementException ex) {
            ex.printStackTrace();
            claim.getPanel().nextStep("Body not found!");
            continue;
        } catch (UnrecognizedCaptcha ex) {
            ex.printStackTrace();
            claim.getPanel().nextStep("Captcha not recognized.");
            continue;
        } catch (Exception ex) {
            continue;
        }

        claim.getPanel().nextStep("Trying auto resolving");
        // Intentamos buscar el hash en la DB 
        CaptchaHash ch = new CaptchaHash(captcha);
        String answer = CoinbotApplication.captchaDatabase.getAnswer(ch.getHash());

        // Si no enctramos la respuesta en la bd se la pedimos al usuario
        if (answer == null) {
            claim.getPanel().nextStep("Waiting for captcha answer ...");

            // Encolar captcha
            CoinbotApplication.bot.getCaptchaQueue().toQueue(captcha);

            // Esperar la resolucion del captcha
            CaptchaTimer timer = new CaptchaTimer(captcha, 35);
            timer.start();

            // Esperamos a la resolucion
            while (!timer.isExpired() && !captcha.resolved()) {
                CoinbotApplication.ui.captchaQueue.getCaptchaPanel(captcha).setTimer(timer.getSecondsLeft());
            }

            if (!captcha.resolved()) {
                CoinbotApplication.captchaDatabase.addCaptcha(ch);
                continue;
            }
        }

        // Guardamos el captcha en la DB
        CoinbotApplication.captchaDatabase.addCaptcha(new CaptchaHash(captcha));

        // Y la imagen en un archivo
        try {
            ImageIO.write(captcha.getImage(), "png", new File("coinbot/captchas/" + ch.getHash() + ".png"));
        } catch (IOException e) {
            e.printStackTrace();
        }

        // Envia la respuesta al input
        captcha.answerToInput(driver);

        // Desencolar captcha
        CoinbotApplication.bot.getCaptchaQueue().deQueue(captcha);

        // Escribir address
        claim.getPanel().nextStep("Detecting input address");
        InputAddressDetector iad = new InputAddressDetector(driver);
        iad.insertAddress(claim.getBtcAddress());

        //claim.getPanel().nextStep("Detecting Antibot");
        // Detectar antibot (puzzle no soportado)
        // Resolver antibot

        // submit
        claim.getPanel().nextStep("Submiting ...");
        WebElement submit = driver.findElement(By.id("address"));
        submit.submit();

        claim.getPanel().nextStep("Checking response");
        //claim.getPanel().nextStep("Successfull claim!");
        /*WebElement out = null;
                
        try {
           out = driver.findElement(By.className("alert-success"));
        } catch (NoSuchElementException e) {
                   
        }
                
        try {
           out = driver.findElement(By.className("alert-danger"));
        } catch (NoSuchElementException e) {
        }
        */
        //claim.getPanel().nextStep("Failed claim!");

        claim.getPanel().done();
        workerPanel.removeClaim(claim.getPanel());
        claim.getTimer().done(2000, 1);
        CoinbotApplication.bot.getClaimQueue().toQueue(claim);

        try {
            Thread.sleep(25000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    try {
        driver.close();
    } catch (Exception e) {

    }
    CoinbotApplication.ui.workerQueue.removeWorker(workerPanel);
    System.out.println("Worker " + workerId + " end work!");
}

From source file:com.vaadin.testbench.TestBenchDriverTest.java

@Test
public void testTestBenchDriverActsAsProxy() {
    FirefoxDriver mockDriver = createMock(FirefoxDriver.class);
    mockDriver.close();
    expectLastCall().once();//from w  w  w . j  a v a 2 s .c  o  m
    WebElement mockElement = createNiceMock(WebElement.class);
    expect(mockDriver.findElement(isA(By.class))).andReturn(mockElement);
    List<WebElement> elements = Arrays.asList(mockElement);
    expect(mockDriver.findElements(isA(By.class))).andReturn(elements);
    mockDriver.get("foo");
    expectLastCall().once();
    expect(mockDriver.getCurrentUrl()).andReturn("foo");
    expect(mockDriver.getPageSource()).andReturn("<html></html>");
    expect(mockDriver.getTitle()).andReturn("bar");
    expect(mockDriver.getWindowHandle()).andReturn("baz");
    Set<String> handles = new HashSet<String>();
    expect(mockDriver.getWindowHandles()).andReturn(handles);
    Options mockOptions = createNiceMock(Options.class);
    expect(mockDriver.manage()).andReturn(mockOptions);
    Navigation mockNavigation = createNiceMock(Navigation.class);
    expect(mockDriver.navigate()).andReturn(mockNavigation);
    mockDriver.quit();
    expectLastCall().once();
    expect(((JavascriptExecutor) mockDriver).executeScript(anyObject(String.class))).andStubReturn(true);
    TargetLocator mockTargetLocator = createNiceMock(TargetLocator.class);
    expect(mockDriver.switchTo()).andReturn(mockTargetLocator);
    replay(mockDriver);

    // TestBenchDriverProxy driver = new TestBenchDriverProxy(mockDriver);
    WebDriver driver = TestBench.createDriver(mockDriver);
    driver.close();
    By mockBy = createNiceMock(By.class);
    assertTrue(driver.findElement(mockBy) instanceof TestBenchElementCommands);
    assertTrue(driver.findElements(mockBy).get(0) instanceof TestBenchElementCommands);
    driver.get("foo");
    assertEquals("foo", driver.getCurrentUrl());
    assertEquals("<html></html>", driver.getPageSource());
    assertEquals("bar", driver.getTitle());
    assertEquals("baz", driver.getWindowHandle());
    assertEquals(handles, driver.getWindowHandles());
    assertEquals(mockOptions, driver.manage());
    assertEquals(mockNavigation, driver.navigate());
    driver.quit();
    assertEquals(mockTargetLocator, driver.switchTo());

    verify(mockDriver);
}

From source file:NCB.Extractor.java

public static void idextractor(FirefoxDriver driver) {
    try {//w w w. j  a v  a2s  . co  m
        String src = null;
        db = new DBActivityMInsLM();
        stUpdte = db.con.createStatement();

        ResultSet count = stUpdte.executeQuery("select * from NCB_Linkids where status=0");

        while (count.next()) {
            strInputid = count.getString("Link");

            System.out.println(strInputid);
            driver.navigate().to(strInputid);
            Thread.sleep(2000);
            src = driver.getPageSource().toString();
            Thread.sleep(3000);
            extractData(src, strInputid);
            String q = "update NCB_Linkids set Status=1 where Link='" + strInputid + "'";
            System.out.println(q);
            stUpdte = db.con.createStatement();
            stUpdte.executeUpdate(q);
            stUpdte.close();

        }
        stmtdelete.executeUpdate("Truncate NCB_Linkids");
        stmtdelete.close();
        db.closeDB();
        driver.close();

    } catch (Exception e) {
        System.out.println("Error in idextraction" + e);
    }

}

From source file:org.ado.picasa.Main.java

License:Apache License

public static void main(String[] args) throws Exception {
    final Options options = new Options();
    options.addOption(new Option("a", "album", true, "Album name"));
    options.addOption("v", "verification-code", true, "Verification code");
    options.addOption("o", "output", true, "Albums output directory");
    options.addOption("h", "help", false, "Prints this help");
    final CommandLine cmd = new DefaultParser().parse(options, args);

    if (cmd.hasOption("help")) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp("picasa-crawler", options);
        System.exit(0);//from  www .j  a v  a2s.  com
    }

    validateEnvironmentVariables();
    final File outputDirectory;
    if (cmd.hasOption("o")) {
        outputDirectory = new File(cmd.getOptionValue("o"));
    } else {
        outputDirectory = DEFAULT_OUTPUT_DIR;
    }
    FileUtils.forceMkdir(outputDirectory);
    long start = System.currentTimeMillis();

    final FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("browser.download.folderList", 2);
    profile.setPreference("browser.download.dir", outputDirectory.getAbsolutePath());
    profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "image/jpeg,image/png");
    final FirefoxDriver driver = new FirefoxDriver(profile);
    loginIntoPicasa(cmd.getOptionValue("v"), driver);

    driver.navigate().to("https://picasaweb.google.com/home?showall=true");
    TimeUnit.SECONDS.sleep(2);

    final List<WebElement> albumLinks = driver
            .findElements(By.xpath("//p[@class='gphoto-album-cover-title']/a"));

    if (cmd.hasOption("a")) {
        final String albumName = cmd.getOptionValue("a").trim();
        System.out.println(String.format("Album: %s", albumName));
        downloadAlbum(driver, albumLinks.stream().filter(al -> al.getText().equals(albumName)).findFirst().get()
                .getAttribute("href"), outputDirectory);

    } else {

        final Set<String> albumHrefs = albumLinks.stream().map(a -> a.getAttribute("href"))
                .collect(Collectors.toSet());

        albumHrefs.forEach(a -> downloadAlbum(driver, a, outputDirectory));

    }
    TimeUnit.SECONDS.sleep(10);
    System.out.println("done");
    long end = System.currentTimeMillis();
    System.out.println(String.format("execution took %d minutes.",
            Math.min(TimeUnit.MILLISECONDS.toMinutes(end - start), 1)));
    driver.close();
}

From source file:org.asqatasun.sebuilder.tools.FirefoxDriverPoolableObjectFactory.java

License:Open Source License

@Override
public void destroyObject(FirefoxDriver t) throws Exception {
    t.close();
    t.quit();/*from   w w w  . java  2 s. c o  m*/
    if (t != null) {
        t.kill();
    }
}

From source file:org.richfaces.tests.archetypes.kitchensink.ftest.mobile.TestForm.java

License:Open Source License

@Test
public void testPushFromDesktopToMobile() {
    FirefoxDriver firefoxDriver = new FirefoxDriver();
    String url = getDeployedURL().toExternalForm().replace(ANDORID_LOOPBACK, "localhost")
            .concat(DESKTOP_MOBILE_NEW_MEMEBER);

    // opening mobile version of kitchensink on desktop browser as it is not possible to open two browsers on mobile device
    // or open two emulators
    firefoxDriver.get(url);/*  w ww.j av  a  2  s . c o  m*/

    FieldDecorator fd = new StaleReferenceAwareFieldDecorator(new DefaultElementLocatorFactory(firefoxDriver),
            2);
    RegisterForm registerFormDesktop = new RegisterForm();
    PageFactory.initElements(fd, registerFormDesktop);

    menuPage.gotoListMembersPage();

    registerFormDesktop.setCorrectName();
    String emailToSet = "pushtomobile@ff.sf";
    registerFormDesktop.setEmail(emailToSet);
    registerFormDesktop.setCorrectPhone();
    registerFormDesktop.clickOnRegisterButton();
    menuPage.waitFor(MenuPage.PAGE_TRANSITION_WAIT);

    String tableText = membersTable.getTable().getText();
    assertTrue(tableText.contains(emailToSet),
            "Registration of new member desktop mobile version was not pushed to the mobile device!");

    firefoxDriver.close();
}

From source file:org.richfaces.tests.archetypes.kitchensink.ftest.mobile.TestForm.java

License:Open Source License

@Test
public void testPushFromMobileToDesktop() {
    FirefoxDriver firefoxDriver = new FirefoxDriver();
    String url = getDeployedURL().toExternalForm().replace(ANDORID_LOOPBACK, "localhost")
            .concat(DESKTOP_MOBILE_LIST_MEMBERS);

    // opening mobile version of kitchensink on desktop browser as it is not possible to open two browsers on mobile device
    // or open two emulators
    firefoxDriver.get(url);/*from w  w w .j a v a  2s  .c  om*/

    FieldDecorator fd = new StaleReferenceAwareFieldDecorator(new DefaultElementLocatorFactory(firefoxDriver),
            2);
    MembersTable membersTableDesktop = new MembersTable();
    PageFactory.initElements(fd, membersTableDesktop);

    menuPage.gotoAddMemberPage();

    registerForm.setCorrectName();
    String emailToSet = "pushfromdesktop@pushik.cz";
    registerForm.setEmail(emailToSet);
    registerForm.setCorrectPhone();
    registerForm.clickOnRegisterButton();
    menuPage.waitFor(MenuPage.PAGE_TRANSITION_WAIT);

    String tableText = membersTableDesktop.getTable().getText();
    assertTrue(tableText.contains(emailToSet),
            "Registration of new member on mobile device was not pushed to the desktop mobile version!");

    firefoxDriver.close();
}