List of usage examples for org.openqa.selenium WebElement sendKeys
void sendKeys(CharSequence... keysToSend);
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test.//from w w w. j av a 2s.c o m */ @Test public void specialSpaceKeys() { final WebDriver driver = getWebDriver("/javascriptPage.html"); final WebElement element = driver.findElement(By.id("keyReporter")); element.sendKeys("abcd" + Keys.SPACE + "fgh" + Keys.SPACE + "ij"); assertThat(element.getAttribute("value"), is("abcd fgh ij")); }
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test.//w w w . jav a2 s .c om */ @Test public void numberpadKeys() { final WebDriver driver = getWebDriver("/javascriptPage.html"); final WebElement element = driver.findElement(By.id("keyReporter")); element.sendKeys("abcd" + Keys.MULTIPLY + Keys.SUBTRACT + Keys.ADD + Keys.DECIMAL + Keys.SEPARATOR + Keys.NUMPAD0 + Keys.NUMPAD9 + Keys.ADD + Keys.SEMICOLON + Keys.EQUALS + Keys.DIVIDE + Keys.NUMPAD3 + "abcd"); assertThat(element.getAttribute("value"), is("abcd*-+.,09+;=/3abcd")); }
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test./*from w ww . j av a 2 s.com*/ */ @Test public void shiftSelectionDeletes() { final WebDriver driver = getWebDriver("/javascriptPage.html"); final WebElement element = driver.findElement(By.id("keyReporter")); element.sendKeys("abcd efgh"); assertThat(element.getAttribute("value"), is("abcd efgh")); element.sendKeys(Keys.SHIFT, Keys.LEFT, Keys.LEFT, Keys.LEFT); element.sendKeys(Keys.DELETE); assertThat(element.getAttribute("value"), is("abcd e")); }
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test./*from ww w . ja v a 2 s . c o m*/ */ @Test public void chordControlHomeShiftEndDelete() { final WebDriver driver = getWebDriver("/javascriptPage.html"); final WebElement result = driver.findElement(By.id("result")); final WebElement element = driver.findElement(By.id("keyReporter")); element.sendKeys("!\"#$%&'()*+,-./0123456789:;<=>?@ ABCDEFG"); element.sendKeys(Keys.HOME); element.sendKeys("" + Keys.SHIFT + Keys.END); assertThat(result.getText(), containsString(" up: 16")); element.sendKeys(Keys.DELETE); assertThat(element.getAttribute("value"), is("")); }
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test.// ww w . ja va 2 s . c om */ @Test public void chordReveseShiftHomeSelectionDeletes() { final WebDriver driver = getWebDriver("/javascriptPage.html"); final WebElement result = driver.findElement(By.id("result")); final WebElement element = driver.findElement(By.id("keyReporter")); element.sendKeys("done" + Keys.HOME); assertThat(element.getAttribute("value"), is("done")); element.sendKeys("" + Keys.SHIFT + "ALL " + Keys.HOME); assertThat(element.getAttribute("value"), is("ALL done")); element.sendKeys(Keys.DELETE); assertThat(element.getAttribute("value"), is("done")); element.sendKeys("" + Keys.END + Keys.SHIFT + Keys.HOME); assertThat(element.getAttribute("value"), is("done")); // Note: trailing SHIFT up here assertThat(result.getText().trim(), containsString(" up: 16")); element.sendKeys("" + Keys.DELETE); assertThat(element.getAttribute("value"), is("")); }
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test.// w w w.j a va2s . c o m */ @Test public void generateKeyPressEventEvenWhenElementPreventsDefault() { final WebDriver driver = getWebDriver("/javascriptPage.html"); final WebElement silent = driver.findElement(By.name("suppress")); final WebElement result = driver.findElement(By.id("result")); silent.sendKeys("s"); assertThat(result.getText().trim(), is("")); }
From source file:com.gargoylesoftware.htmlunit.selenium.TypingTest.java
License:Apache License
/** * A test.// www . j a v a2s . c o m */ @Test @Alerts(DEFAULT = { "keydown (target) keyup (target) keyup (body)", "keydown (target) keyup (target) keyup (body) keydown (target) a pressed; removing" }, CHROME = { "keydown (target) keyup (target) keyup (body)", "keydown (target) keyup (target) keyup (body) keydown (target) a pressed; removing keyup (body)" }) public void canSafelyTypeOnElementThatIsRemovedFromTheDomOnKeyPress() { final WebDriver driver = getWebDriver("/key_tests/remove_on_keypress.html"); final WebElement input = driver.findElement(By.id("target")); final WebElement log = driver.findElement(By.id("log")); assertEquals("", log.getAttribute("value")); input.sendKeys("b"); assertEquals(getExpectedAlerts()[0], getValueText(log).replace('\n', ' ')); input.sendKeys("a"); // Some drivers (IE, Firefox) do not always generate the final keyup event since the element // is removed from the DOM in response to the keypress (note, this is a product of how events // are generated and does not match actual user behavior). assertEquals(getExpectedAlerts()[1], getValueText(log).replace('\n', ' ')); }
From source file:com.gargoylesoftware.htmlunit.SimpleWebDriverTest.java
License:Apache License
/** * Test event order.//from ww w. j a v a2s.co m * @throws Exception if the test fails */ @Test //Fails with InternetExplorerDriver, but works in independent IE :( public void eventOrder() throws Exception { final String html = "<html>\n" + "<head>\n" + " <script>\n" + " function log(text) {\n" + " var textarea = document.getElementById('myTextarea');\n" + " textarea.value += text + ',';\n" + " }\n" + " </script>\n" + "</head><body>\n" + "<form>\n" + " <input name='foo' id='foo' onfocus=\"log('focus')\" onblur=\"log('blur')\" onchange=\"log('change')\"" + " onkeydown=\"log('keydown')\" onkeypress=\"log('keypress')\" onkeyup=\"log('keyup')\">\n" + " <input name='other' id='other'>\n" + "</form>\n" + " <textarea id='myTextarea' cols='80'></textarea>\n" + "</body></html>"; final WebDriver webDriver = loadPageWithAlerts2(html); final WebElement textField = webDriver.findElement(By.id("foo")); textField.click(); // to give focus textField.sendKeys("a"); webDriver.findElement(By.id("other")).click(); final String expected; if (getBrowserVersion().isFirefox() && getBrowserVersion().getBrowserVersionNumeric() == 2) { expected = "focus,keydown,keypress,keyup,blur,change,"; } else { expected = "focus,keydown,keypress,keyup,change,blur,"; } assertEquals(expected, webDriver.findElement(By.id("myTextarea")).getText()); }
From source file:com.giri.target.svr.cmd.GenericHTMLCommandProcessor.java
License:Open Source License
/** * @param webdriver//from www . ja v a 2s . c om * @param cmd2 * @return * @throws Exception */ public String process(ISeleniumTestRunner testRunner, final WebDriver webdriver, final TARGetPageDriver driver, ICommand cmd) throws Exception { //TODO migrate to webdriver //http://seleniumhq.org/docs/04_selenese_commands.html //TODO fix if conditions final String result; if ("click".equals(cmd.getCommand())) { // TODO, duplicate code // for some reason if I use "TARGetPageDriver.findElement(s)" the client event is not really happening // hence move the code directly here to test final WebElement element = (WebElement) TARGetPageDriver.findElement(driver, cmd.getLocator()); //TODO workaround, some time client is not working, try selecting the parent element? /* element.findElement(By.xpath("..")).click(); element.click();*/ element.sendKeys("\n"); // final WebElement element; // String locator = cmd.getLocator(); // if((locator != null && (locator = locator.trim()).length() > 0)){ // final By finder; // if(locator.startsWith("#")){ // element = webdriver.findElement(By.id(locator)); // } // else if(locator.startsWith(".")){ // element = webdriver.findElement(By.className(locator)); // } // else if(locator.startsWith("css=")){ // final String loc = locator.substring("css=".length(), locator.length()); // element = webdriver.findElement(By.cssSelector(loc)); // } // else if(locator.startsWith("link=")){ // final String loc = locator.substring("link=".length(), locator.length()); // element = webdriver.findElement(By.linkText(loc)); // } // else if(locator.startsWith("name=")){ // final String loc = locator.substring("name=".length(), locator.length()); // element = webdriver.findElement(By.name(loc)); // }else{ // if(locator.startsWith("jq=")){ // final String loc = locator.substring("js=".length(), locator.length()); // final String js = "return TSLFINDERS.toDOMElement($(\""+loc+"\"))"; // final String jss = "$(\""+loc+"\")"; // final Object rslt = ((JavascriptExecutor)webdriver).executeScript(jss); // final List<WebElement> elements = (List<WebElement>) ((JavascriptExecutor)webdriver).executeScript("$(\""+loc+"\")"); // element = (elements != null && elements.size() > 0 ? elements.get(0) : null); // } // else if(locator.startsWith("js=")){ // final String loc = locator.substring("js=".length(), locator.length()); // final String js = "return "+loc; // final List<WebElement> elements = (List<WebElement>) ((JavascriptExecutor)webdriver).executeScript(js); // element = (elements != null && elements.size() > 0 ? elements.get(0) : null); // }else{ // throw new RuntimeException("Unknown locator pattern: '"+cmd.getLocator()+"'"); // } // } // }else{ // element = null; // } // // final WebElement element = (WebElement) TARGetPageDriver.findElement(webdriver, cmd.getLocator()); // if(element != null){ // element.click(); // } result = "true"; // final WebElement element = TARGetPageDriver.findElement(webdriver, cmd.getLocator()); // if(element != null){ // element.click(); // result = "true"; // }else{ // throw new RuntimeException("Element not found, Locator :"+cmd.getLocator()); // } } else if ("type".equals(cmd.getCommand())) { final WebElement element = TARGetPageDriver.findElement(driver, cmd.getLocator()); if (element != null) { element.sendKeys(cmd.getArgs()); result = "true"; } else { throw new RuntimeException("Element not found, Locator :" + cmd.getLocator()); } } else { CommandProcessor commandProcessor = driver.getWebDriverBackedSelenium().getCommandProcessor(); final String[] args; if (cmd.getArgs() != null) { args = new String[] { cmd.getLocator(), cmd.getArgs() }; } else { args = new String[] { cmd.getLocator() }; } result = commandProcessor.doCommand(cmd.getCommand(), args); } return result; }
From source file:com.giri.target.svr.cmd.KeyCommandProcessor.java
License:Open Source License
@Override public String process(ISeleniumTestRunner testRunner, final WebDriver webdriver, final TARGetPageDriver driver, final ICommand command) throws Exception { String keystr = command.getArgs(); CharSequence keysToSend = getKey(keystr); String locator = command.getLocator(); final WebElement element; if (locator != null && locator.length() > 0) { element = (WebElement) TARGetPageDriver.findElement(driver, locator); } else {/* w w w.j a v a 2 s. c o m*/ element = (WebElement) driver.executeScript("return window.document;"); } if (element != null) { element.sendKeys(keysToSend); } return "true"; }