Example usage for org.openqa.selenium JavascriptExecutor executeScript

List of usage examples for org.openqa.selenium JavascriptExecutor executeScript

Introduction

In this page you can find the example usage for org.openqa.selenium JavascriptExecutor executeScript.

Prototype

Object executeScript(String script, Object... args);

Source Link

Document

Executes JavaScript in the context of the currently selected frame or window.

Usage

From source file:com.digi.selenium.util.PageNavigation.java

protected void clickOnRadioRM100() {
    try {//from w  w w. j  a  va 2s.c  o  m
        WebElement emailtxt = getDriver().findElement(By.id("reloadForm__email"));
        if (emailtxt.isDisplayed()) {
            handleInputField_ByID("reloadForm__email", AppConstants.EMAIL);
            Thread.sleep(500);
        }
        JavascriptExecutor js1 = (JavascriptExecutor) getDriver();
        js1.executeScript("window.scrollBy(0,400)", "");
        WebElement radio = getDriver().findElement(By.xpath("//*[@id='prepaidReloadForm']/ul/li[1]/label/div"));
        radio.click();
        // now select check box to accept license agreement
        WebElement checkbox = getDriver().findElement(By.xpath("//*[@id='prepaidReloadForm']/label/div"));
        checkbox.click();
        // click on proceed button after selecting radio button and check box
        // WebElement elementproceed=getDriver().findElement(By.xpath("//*[@id='proceedBtn']"));
        //*[@id="proceedBtn"]
        WebElement proceed = (new WebDriverWait(driver, 1000))
                .until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='proceedBtn']")));
        proceed.click();
        waitForPageLoad(100);
        Thread.sleep(500);
        JavascriptExecutor js = (JavascriptExecutor) getDriver();
        js.executeScript("window.scrollBy(0,500)", "");
    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        log.error("Fail : Failed to Reload amount.");
        System.exit(0);

    }

}

From source file:com.digi.selenium.util.PageNavigation.java

protected void extra() {
    try {//  ww w.  j av  a  2s.com

        JavascriptExecutor jse = (JavascriptExecutor) getDriver();
        jse.executeScript("window.scrollBy(0,500)", "");
        //         WebElement fb = (new WebDriverWait(fbdriver, 5000)).until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='main']/section/div/ul/li[1]/a")));
        //           fb.click();
        //*[@id="main"]/section/div/ul/li[1]/a
        WebElement fb = getDriver().findElement(By.xpath("//*[@id='main']/section/div/ul/li[1]/a"));
        Actions newTab1 = new Actions(getDriver());
        newTab1.keyDown(Keys.SHIFT).click(fb).keyUp(Keys.SHIFT).build().perform();
        Thread.sleep(500);

        //handle windows change
        String base1 = getDriver().getWindowHandle();
        Set<String> set1 = getDriver().getWindowHandles();

        set1.remove(base1);
        assert set1.size() == 1;
        getDriver().switchTo().window((String) set1.toArray()[0]);
        waitForPageLoad(500);
        //wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='blueBarNAXAnchor']/div/div/div/div[1]/h1/a/i")));
        //close the window
        getDriver().close();
        getDriver().switchTo().window(base1);

        // handle windows change and switch back to the main window
        Thread.sleep(500);
        for (String winHandle1 : getDriver().getWindowHandles()) {
            getDriver().switchTo().window(winHandle1);

            // System.out.println("extra : FB Passed" );
            log.info("FB Link Passed");
            Thread.sleep(500);

            //*[@id="main"]/section/div/ul/li[2]/a
            WebElement tw = getDriver().findElement(By.xpath("//*[@id='main']/section/div/ul/li[2]/a"));
            Actions newTab2 = new Actions(getDriver());
            newTab2.keyDown(Keys.SHIFT).click(tw).keyUp(Keys.SHIFT).build().perform();
            Thread.sleep(500);

            //handle windows change
            String base2 = getDriver().getWindowHandle();
            Set<String> set2 = getDriver().getWindowHandles();

            set2.remove(base2);
            assert set2.size() == 1;
            getDriver().switchTo().window((String) set2.toArray()[0]);
            waitForPageLoad(500);
            //wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='page-container']/div[2]/div/div/div[1]/div/div/div/div[1]/h1/a")));
            //close the window
            getDriver().close();
            getDriver().switchTo().window(base2);

            // handle windows change and switch back to the main window
            Thread.sleep(2500);
            for (String winHandle2 : getDriver().getWindowHandles()) {
                getDriver().switchTo().window(winHandle2);

                // System.out.println("extra : Twitter Passed" );
                log.info("Twitter Link Passed");
                Thread.sleep(5000);

                //*[@id="main"]/section/div/ul/li[3]/a
                WebElement com = getDriver().findElement(By.xpath("//*[@id='main']/section/div/ul/li[3]/a"));
                Actions newTab3 = new Actions(getDriver());
                newTab3.keyDown(Keys.SHIFT).click(com).keyUp(Keys.SHIFT).build().perform();
                Thread.sleep(5000);

                //handle windows change
                String base3 = getDriver().getWindowHandle();
                Set<String> set3 = getDriver().getWindowHandles();

                set3.remove(base3);
                assert set3.size() == 1;
                getDriver().switchTo().window((String) set3.toArray()[0]);
                waitForPageLoad(5000);
                //wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='mainNav']/div[1]/div[1]/a")));
                //close the window
                getDriver().close();
                getDriver().switchTo().window(base3);

                // handle windows change and switch back to the main window
                Thread.sleep(2500);
                for (String winHandle3 : getDriver().getWindowHandles()) {
                    getDriver().switchTo().window(winHandle3);

                    // System.out.println("extra : Community Passed" );
                    log.info("Community Link Passed");
                    Thread.sleep(500);
                    JavascriptExecutor jse1 = (JavascriptExecutor) getDriver();
                    jse1.executeScript("window.scrollBy(0,-500)", "");
                }
            }
        }
    }

    catch (Exception e) {
        log.error("Failed to verify Social Media Links");
    }
}

From source file:com.ecofactor.qa.automation.newapp.page.impl.AbstractAuthenticationPageImpl.java

License:Open Source License

/**
 * Click./*from www.j  a  v a2s .  co  m*/
 * @param element the element
 */
protected void click(WebElement element) {

    JavascriptExecutor executor = (JavascriptExecutor) getDriver();
    executor.executeScript("arguments[0].click();", element);
}

From source file:com.ecofactor.qa.automation.platform.action.impl.IOSUIAction.java

License:Open Source License

/**
 * Do Tap.//ww w .  j  a v a 2  s  .co m
 * @param element the element
 * @see com.ecofactor.qa.automation.platform.action.UIAction#doTap(org.openqa.selenium.WebElement)
 */
@Override
public void doTap(final WebElement element) {

    final JavascriptExecutor js = (JavascriptExecutor) driverOps.getDeviceDriver();
    final HashMap<String, Double> tapObject = new HashMap<String, Double>();
    tapObject.put("x", (double) element.getLocation().getX());
    tapObject.put("y", (double) element.getLocation().getY());
    js.executeScript("mobile: tap", tapObject);
}

From source file:com.ecofactor.qa.automation.platform.ops.impl.IOSOperations.java

License:Open Source License

/**
 * Take screen shot./*ww  w  . jav a2 s  . co  m*/
 * @param fileNames the file names
 * @throws DeviceException the device exception
 * @see com.ecofactor.qa.automation.mobile.ops.impl.AbstractDriverOperations#takeScreenShot(java.lang.String[])
 */
@Override
public void takeScreenShot(final String... fileNames) throws DeviceException {

    if (isTaken) {
        try {
            final JavascriptExecutor jsExecutor = (JavascriptExecutor) getDeviceDriver();
            final HashMap<String, String> execObject = new HashMap<String, String>();
            final Path screenShotFile = getTargetScreenshotPath(fileNames);
            execObject.put("file", screenShotFile.toString());
            jsExecutor.executeScript("mobile: localScreenshot", execObject);
        } catch (final Exception e) {
            isTaken = false;
            LOGGER.error("ERROR taking screenshot for " + fileNames, e);
            stopAppiumServer();
            smallWait();
            startAppiumServer();
            loadDeviceDriver();
            smallWait();
            switchToWebView();
        }
    }
}

From source file:com.ecofactor.qa.automation.util.PageUtil.java

License:Open Source License

/**
 * Ios save screenshot./*from  ww w .  ja va2  s.c o  m*/
 * @param name the name
 * @param driver the driver
 */
public static void iosSaveScreenshot(String name, WebDriver driver) {
    try {
        JavascriptExecutor js = (JavascriptExecutor) driver;
        HashMap<String, String> execObject = new HashMap<String, String>();
        File sourceFile = new File("");
        String filePath = sourceFile.getAbsolutePath() + "/target/screenshots/" + name + ".png";
        execObject.put("file", filePath);
        try {
            js.executeScript("mobile: localScreenshot", execObject);
        } catch (Exception e) {
            e.printStackTrace();
        }

    } catch (Exception e) {
        logger.error("Error taking screenshot for " + name, e);
    }
}

From source file:com.elastica.webelements.HtmlElement.java

License:Apache License

public void simulateClick() {
    findElement();/*  www . j  av a2s  .com*/

    String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}";
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript(mouseOverScript, element);
    WaitHelper.waitForSeconds(2);

    String clickScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('click', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onclick');}";
    js.executeScript(clickScript, element);
    WaitHelper.waitForSeconds(2);
}

From source file:com.elastica.webelements.HtmlElement.java

License:Apache License

/**
 * Forces a mouseOver event on the WebElement using simulate by JavaScript way for some dynamic menu.
 *//*from   w ww.j a va 2 s .c om*/
public void simulateMouseOver() {
    findElement();

    String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}";
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript(mouseOverScript, element);
}

From source file:com.etouch.cisco.common.CiscoMainPage_iPhoneBackup.java

public void validECUvalidation(TestParameters input) throws InterruptedException {
    final int MAX_WAIT = 50;
    try {/* w w w .j  ava  2s.  co m*/

        webPage.findObject(ObjectType.Image, MainPageElements_iphone.Back_XPATH, ObjectValType.XPATH).click();
        ((TextBox) webPage.findObject(ObjectType.TextBox, MainPageElements_iphone.ServerCount_XPATH,
                ObjectValType.XPATH, MAX_WAIT, WaitCondition.VISIBLE))
                        .enterText(input.getParamMap().get("servercount"));
        ((TextBox) webPage.findObject(ObjectType.TextBox, MainPageElements_iphone.CPUCount_XPATH,
                ObjectValType.XPATH, MAX_WAIT, WaitCondition.VISIBLE))
                        .enterText(input.getParamMap().get("cpucount"));
        ((SelectBox) webPage.findObject(ObjectType.SelectBox, "selectCpu", ObjectValType.ID, MAX_WAIT,
                WaitCondition.VISIBLE)).click();
        JavascriptExecutor jsx = (JavascriptExecutor) driver;
        jsx.executeScript("mobile:hideKeyBoard", "Done");
    } catch (Exception e) {
        log.error(e.getMessage());
        System.err.println(e.getMessage());
    }
}

From source file:com.formkiq.web.WorkflowAddControllerIntegrationTest.java

License:Apache License

/**
 * testWorkflow01()./* w  w  w .  ja  v  a 2s .c  o  m*/
 * get workflow as ADMIN
 * @throws Exception Exception
 */
@Test
public void testCreateWorkflow01() throws Exception {
    // given
    final long sleep = 250L;
    FormJSON form = TestDataBuilder.createStoreReceipt();
    Workflow workflow = TestDataBuilder.createWorkflow(form);

    String token = login();
    String folder = createFolder(token, getDefaultEmail());

    addFileToFolder(token, folder, workflow, form);

    // when
    login(getDefaultEmail());
    getDriver().navigate().to(getDefaultHostAndPort() + "/user/dashboard");
    waitForJSandJQueryToLoad();

    assertEquals("FormKiQ Server - Dashboard", getTitle());

    findElementBy(By.className("add_0")).click();

    // then (verify on correct page)
    assertEquals(getDefaultHostAndPort() + "/flow/workflow?execution=s1e1", getDriver().getCurrentUrl());
    assertEquals("FormKiQ Server - Store Receipt", getTitle());

    // when (enter data)
    WebElement element = findElementBy(By.name("1"));
    element.sendKeys("10");

    element = findElementBy(By.name("1"));
    assertEquals("10", element.getAttribute("value"));

    JavascriptExecutor jsExecutor = (JavascriptExecutor) getDriver();
    jsExecutor.executeScript("calculate();", element);

    Thread.sleep(sleep);

    getDriver().navigate().refresh();

    // then (verify data calculations)
    element = findElementBy(By.name("2"));
    assertEquals("$0.70", element.getAttribute("value"));

    element = findElementBy(By.name("3"));
    assertEquals("$7.99", element.getAttribute("value"));

    element = findElementBy(By.name("4"));
    assertEquals("$18.69", element.getAttribute("value"));

    List<WebElement> elements = getSubmitButtons();
    assertEquals(1, elements.size());

    // when (submit)
    submitByName("_eventId_next", "Next");

    // then verify complete
    assertEquals(getDefaultHostAndPort() + "/flow/workflow?execution=s1e2", getDriver().getCurrentUrl());
    assertEquals("FormKiQ Server - Sample WF Complete", getTitle());

    assertTrue(getDriver().getPageSource().contains("end-of-document"));

    String pageSource = getDriver().getPageSource();
    assertTrue(pageSource.contains("The workflow has been saved."));

    FolderFormsListDTO formlist = getFolderFileList(token, folder, workflow.getUUID());

    assertEquals(1, formlist.getForms().size());
    FormDTO fdto = formlist.getForms().get(0);
    assertNotEquals(workflow.getUUID(), fdto.getUUID());

    byte[] data = getFolderFile(token, folder, fdto.getUUID(), MediaType.valueOf(ACCEPT_HEADER_V1 + "+zip"),
            false).getBody();
    ArchiveDTO archive = this.archiveService.extractJSONFromZipFile(data);
    workflow = archive.getWorkflow();

    assertNotNull(workflow);
    assertEquals(1, archive.getForms().size());
    form = archive.getForms().values().iterator().next();

    assertTrue(workflow.getSteps().contains(form.getUUID()));
    assertEquals(workflow.getParentUUID(), form.getParentUUID());

    int i = 1;
    assertEquals("$10.00", findField(form, i++).get().getValue());
    assertEquals("$0.70", findField(form, i++).get().getValue());
    assertEquals("$7.99", findField(form, i++).get().getValue());
    assertEquals("$18.69", findField(form, i++).get().getValue());
}