Issue Details:With the latest IEDriver, It is seen sendKeys method is not able to push data into testarea. The same method works great with Firefox and Chrome.
There is one more issue upon clicking on save button, the text entered, gets disappear.
What to check:
The check points are:
Check the version of Selenium,IEDriverServer.exe, Internet Explorer [For IE11, we need selenium 2.44 or above.]
Resolution:
There might be a workaround-Just press a Tab using Sendkeys(“TAB”). It might trigger the underlaying javascript
The main issue is problem related to nativeEvents in IE.
Issue Details:
Sendkeys may send data one character by one character. As a result execution becomes very slow.
What to check:
The driver version. In 64 bit of drivers , It may so happen. Downgrade the driver to 32 bit.Also you need to check the same version of IEDriverServer.exe. So basically if you are using 32 bit of browser, the driver has to be 32 bit.
Issue Details:
Sendkeys may send data partially in parallel mode of execution but sends full string while running in one thread.
What to check:
Check the application type.It is very common in Angular JS applications.Always upgrade the library to the latest Angular JS.
if you can not upgrade the Angular JS,use the following code:
var i;
for(i = 0; i < toxtToSend.length; i++){
EditBox.sendKeys(toxtToSend.charAt(i));
}
or we can try with java script executor class:
WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("document.getElementById('gbqfq').value = 'Test';");
one more solution could be to use java.awt package:
Initial phase set the focus to the element and write the below code:
driver.findElemnt(by.xpath("abc")).setfocus();
paste();
public static void paste() throws AWTException
{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
}
Issue Details:
Sendkeys does not work properly when using gecodriver.
What to check:
Either use
System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"false");
or using Firefox options setting up the capabilities