Example usage for org.openqa.selenium.interactions Actions perform

List of usage examples for org.openqa.selenium.interactions Actions perform

Introduction

In this page you can find the example usage for org.openqa.selenium.interactions Actions perform.

Prototype

public void perform() 

Source Link

Document

A convenience method for performing the actions without calling build() first.

Usage

From source file:com.chtr.tmoauto.webui.CommonFunctions.java

License:Open Source License

@Override
public void doubleClick(String locator) {
    WebElement element = elementToBeClickable(locator);
    Actions action = new Actions(webDriver);
    try {//from w  ww.  j av  a2 s  .c  o m
        action.doubleClick(element);
        action.perform();
    } catch (Exception e) {
        log.warn("Could not double click : " + e);
    }
}

From source file:com.epam.jdi.uitests.mobile.appium.elements.base.Element.java

License:Open Source License

public void clickWithKeys(Keys... keys) {
    invoker.doJAction("Ctrl click on Element", () -> {
        Actions action = new Actions(getDriver());
        for (Keys key : keys)
            action = action.keyDown(key);
        action = action.moveToElement(getWebElement()).click();
        for (Keys key : keys)
            action = action.keyUp(key);//from w  w w. j a v a2 s  .  co  m
        action.perform();
    });
}

From source file:com.epam.jdi.uitests.web.selenium.elements.base.Element.java

License:Open Source License

public void clickWithKeys(Keys... keys) {
    invoker.doJAction("Ctrl click on Element", () -> {
        Actions action = new Actions(getDriver());
        for (Keys key : keys) {
            action = action.keyDown(key);
        }/*from w w w  .j ava2s.  c om*/
        action = action.moveToElement(getWebElement()).click();
        for (Keys key : keys) {
            action = action.keyUp(key);
        }
        action.perform();
    });
}

From source file:com.gargoylesoftware.htmlunit.html.ClickableElement2Test.java

License:Apache License

/**
 * @throws Exception if the test fails//w w  w  .  jav  a2s  .  co m
 */
@Test
@Alerts("click click dblclick ")
@BuggyWebDriver({ FF, CHROME })
public void dblClick() throws Exception {
    final String content = "<html>\n" + "<head>\n" + "<script>\n" + "  function clickMe() {\n"
            + "    document.getElementById('myTextarea').value+='click ';\n" + "  }\n"
            + "  function dblClickMe() {\n" + "    document.getElementById('myTextarea').value+='dblclick ';\n"
            + "  }\n" + "</script>\n" + "</head>\n"
            + "<body id='myBody' onclick='clickMe()' ondblclick='dblClickMe()'>\n"
            + "<textarea id='myTextarea'></textarea>\n" + "</body></html>";

    final WebDriver driver = loadPage2(content);

    final Actions action = new Actions(driver);
    action.doubleClick(driver.findElement(By.id("myBody")));
    action.perform();

    assertEquals(getExpectedAlerts()[0], driver.findElement(By.id("myTextarea")).getAttribute("value"));
}

From source file:com.gargoylesoftware.htmlunit.html.HtmlAnchor2Test.java

License:Apache License

/**
 * FF behaves is different./*  ww w  .j  ava 2 s  . c  o m*/
 * @throws Exception if an error occurs
 */
@Test
@Alerts(IE = "click href click doubleClick ", CHROME = "click href click href doubleClick ", FF = "click href click doubleClick href ")
@BuggyWebDriver({ FF, CHROME })
@NotYetImplemented({ FF, IE })
public void doubleClick() throws Exception {
    final String html = "<html>\n" + "<body>\n" + "  <a id='myAnchor' "
            + "href=\"javascript:document.getElementById('myTextarea').value+='href ';void(0);\" "
            + "onClick=\"document.getElementById('myTextarea').value+='click ';\" "
            + "onDblClick=\"document.getElementById('myTextarea').value+='doubleClick ';\">foo</a>\n"
            + "  <textarea id='myTextarea'></textarea>\n" + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Actions action = new Actions(driver);
    action.doubleClick(driver.findElement(By.id("myAnchor")));
    action.perform();

    assertEquals(getExpectedAlerts()[0], driver.findElement(By.id("myTextarea")).getAttribute("value"));
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.event.UIEventTest.java

License:Apache License

/**
 * @throws Exception if an error occurs/*from w w  w  . j  a va 2 s .  c o  m*/
 */
@Test
@Alerts(DEFAULT = { "[object Event]", "undefined", "[object MouseEvent]", "1", "[object MouseEvent]",
        "2" }, IE = { "[object Event]", "undefined", "[object PointerEvent]", "0", "[object PointerEvent]",
                "0" })
public void detail() throws Exception {
    final String html = "<html><head><script>\n" + "  function alertDetail(e) {\n" + "    alert(e);\n"
            + "    alert(e.detail);\n" + "  }\n" + "</script></head>\n" + "<body onload='alertDetail(event)'>\n"
            + "  <div id='a' onclick='alertDetail(event)'>abc</div>\n"
            + "  <div id='b' ondblclick='alertDetail(event)'>xyz</div>\n" + "</body></html>";

    final String[] alerts = getExpectedAlerts();
    int i = 0;

    final WebDriver driver = loadPage2(html);
    verifyAlerts(driver, alerts[i++], alerts[i++]);

    driver.findElement(By.id("a")).click();
    verifyAlerts(driver, alerts[i++], alerts[i++]);

    final Actions action = new Actions(driver);
    action.doubleClick(driver.findElement(By.id("b")));
    action.perform();
    verifyAlerts(driver, alerts[i++], alerts[i++]);
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.html.HTMLButtonElementTest.java

License:Apache License

/**
 * @throws Exception if an error occurs//from   w w  w.ja v a 2  s .  c o m
 */
@Test
@Alerts("mouse over [btn]")
public void mouseOver() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + "<html>\n" + "  <head>\n"
            + "    <title>Test</title>\n" + "    <script>\n" + "    function dumpEvent(event) {\n"
            + "      // target\n" + "      var eTarget;\n" + "      if (event.target) {\n"
            + "        eTarget = event.target;\n" + "      } else if (event.srcElement) {\n"
            + "        eTarget = event.srcElement;\n" + "      }\n" + "      // defeat Safari bug\n"
            + "      if (eTarget.nodeType == 3) {\n" + "        eTarget = eTarget.parentNode;\n" + "      }\n"
            + "      var msg = 'mouse over';\n" + "      if (eTarget.name) {\n"
            + "        msg = msg + ' [' + eTarget.name + ']';\n" + "      } else {\n"
            + "        msg = msg + ' [' + eTarget.id + ']';\n" + "      }\n" + "      alert(msg);\n" + "    }\n"
            + "    </script>\n" + "  </head>\n" + "<body>\n" + "  <form id='form1'>\n"
            + "    <button id='btn' onmouseover='dumpEvent(event);'>button</button><br>\n" + "  </form>\n"
            + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Actions actions = new Actions(driver);
    actions.moveToElement(driver.findElement(By.id("btn")));
    actions.perform();

    verifyAlerts(driver, getExpectedAlerts());
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.html.HTMLButtonElementTest.java

License:Apache License

/**
 * @throws Exception if an error occurs//from   w w  w .j  a  va 2s .  c  om
 */
@Test
@Alerts(FF = "mouse over [disabledBtn]")
public void mouseOverDiabled() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + "<html>\n" + "  <head>\n"
            + "    <title>Test</title>\n" + "    <script>\n" + "    function dumpEvent(event) {\n"
            + "      // target\n" + "      var eTarget;\n" + "      if (event.target) {\n"
            + "        eTarget = event.target;\n" + "      } else if (event.srcElement) {\n"
            + "        eTarget = event.srcElement;\n" + "      }\n" + "      // defeat Safari bug\n"
            + "      if (eTarget.nodeType == 3) {\n" + "        eTarget = eTarget.parentNode;\n" + "      }\n"
            + "      var msg = 'mouse over';\n" + "      if (eTarget.name) {\n"
            + "        msg = msg + ' [' + eTarget.name + ']';\n" + "      } else {\n"
            + "        msg = msg + ' [' + eTarget.id + ']';\n" + "      }\n" + "      alert(msg);\n" + "    }\n"
            + "    </script>\n" + "  </head>\n" + "<body>\n" + "  <form id='form1'>\n"
            + "    <button id='disabledBtn' onmouseover='dumpEvent(event);' disabled>disabled button</button><br>\n"
            + "  </form>\n" + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Actions actions = new Actions(driver);
    actions.moveToElement(driver.findElement(By.id("disabledBtn")));
    actions.perform();

    verifyAlerts(driver, getExpectedAlerts());
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElement2Test.java

License:Apache License

/**
 * @throws Exception if an error occurs/* w  ww  .  j a  v a2s . c  om*/
 */
@Test
@Alerts({ "clicked", "fireEvent not available" })
public void fireEvent_WithoutTemplate() throws Exception {
    final String html = "<html>\n" + "  <head>\n" + "    <title>Test</title>\n" + "    <script>\n"
            + "    function doTest() {\n" + "      var elem = document.getElementById('a');\n"
            + "      if (!elem.fireEvent) { alert('fireEvent not available'); return }\n"
            + "      elem.fireEvent('onclick');\n" + "    }\n" + "    </script>\n" + "  </head>\n" + "<body>\n"
            + "  <div id='a' onclick='alert(\"clicked\")'>foo</div>\n"
            + "  <div id='b' onmouseover='doTest()'>bar</div>\n" + "</body></html>";

    final WebDriver driver = loadPage2(html);
    driver.findElement(By.id("a")).click();
    verifyAlerts(driver, getExpectedAlerts()[0]);

    final Actions actions = new Actions(driver);
    actions.moveToElement(driver.findElement(By.id("b")));
    actions.perform();
    verifyAlerts(driver, getExpectedAlerts()[1]);
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.html.HTMLInputElementTest.java

License:Apache License

private void mouseOver(final String element) throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + "<html>\n" + "  <head>\n"
            + "    <title>Test</title>\n" + "    <script>\n" + "    function dumpEvent(event) {\n"
            + "      // target\n" + "      var eTarget;\n" + "      if (event.target) {\n"
            + "        eTarget = event.target;\n" + "      } else if (event.srcElement) {\n"
            + "        eTarget = event.srcElement;\n" + "      }\n" + "      // defeat Safari bug\n"
            + "      if (eTarget.nodeType == 3) {\n" + "        eTarget = eTarget.parentNode;\n" + "      }\n"
            + "      var msg = 'mouse over';\n" + "      if (eTarget.name) {\n"
            + "        msg = msg + ' [' + eTarget.name + ']';\n" + "      } else {\n"
            + "        msg = msg + ' [' + eTarget.id + ']';\n" + "      }\n" + "      alert(msg);\n" + "    }\n"
            + "    </script>\n" + "  </head>\n" + "<body>\n" + "  <form id='form1'>\n" + "    " + element + "\n"
            + "  </form>\n" + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Actions actions = new Actions(driver);
    actions.moveToElement(driver.findElement(By.id("tester")));
    actions.perform();

    verifyAlerts(driver, getExpectedAlerts());
}