Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selenium 3.6.0 / IE 11 / Windows 10 32 and 64bit #4878

Closed
rgoerner opened this issue Oct 16, 2017 · 14 comments
Closed

Selenium 3.6.0 / IE 11 / Windows 10 32 and 64bit #4878

rgoerner opened this issue Oct 16, 2017 · 14 comments

Comments

@rgoerner
Copy link

rgoerner commented Oct 16, 2017

Selenium: 3.6.0
OS: Windows 10, using 64bit and 32bit one in different virtual machine
Driver: IEWebserver, 32bit and/or 64bit

Started like this:
java -Dwebdriver.ie.driver="C:\selenium\IEDriverServer.exe" -jar c:\selenium\selenium-server-standalone-3.6.0.jar -role node -hub http://123.456.789.012:4444/grid/register -port 5588 -browser "browserName=internet explorer,version=11,platform=WINDOWS,maxInstances=10"
(IP is correct in real of course)

Enhanced Security is set on all zones, also the registry-entry is set

Problem: Using the 64bit driver, sendkeys is extremly slow, also the "@" is written as an "q".
Using the 32bit driver, sendkeys works fast, but characters are missmatched, missing or not fully populated.

I also tried with requireWindowFocus or NativeEvents false or true, no changes.

I do not have any idea left to have sendkeys working :(

I also tried with Selenium 3.5.2 (including concurrent driver) - no way :(.

@rgoerner
Copy link
Author

rgoerner commented Oct 16, 2017

The @ - problem could be fixed on the 64bit driver plattform, setting keyboard-layout to English... however, it is still horrorable slow, one key needs ~ 10 seconds.

@jimevans
Copy link
Member

jimevans commented Oct 16, 2017

The 32-bit driver is the one to use (yes, even for 64-bit Windows). The technical reasons for the difference in performance of sendKeys() is documented here. There is no way to "fix" it given the current architecture of the driver.

The keyboard issue is different, and has also already been reported in #4523.

@rgoerner
Copy link
Author

rgoerner commented Oct 16, 2017

Can you please be so kind to give me a link to the opened ticket for the sendkey-problem you described? Is this a new issue or a longer known one?
The 64bit issues and problems are clear so far ;-).

@rgoerner
Copy link
Author

I am not sure whether this is the same. The problem with the "q" instead auf "@" was with the 64bit driver. With the 32bit one, characters are missing, not exchanged...

@rgoerner
Copy link
Author

@jimevans I think we have 3 issues here:

  • slow keys on 64bit - known, and be solved
  • wrong behaviour of AltGr - Keys - can be fixed using English keyboard - maybe solved with this workaround, but not sure, if there will be other problems then with Firefox and / or any third driver on same machine then because of encoding
  • the 3rd but still open thing is: the keys on 32bit are missing sometimes, so if you example enter "example" here it is always only "xpml" ... it is the same issue with any other string. We tested it using the 32bit driver of 3.4, 3.5.3 and 3.6.0 - same there :-<

Can you maybe reopen this issue again, and maybe we can better describe this here?

@jimevans
Copy link
Member

If you can supply a full reproduction case (including both the WebDriver code you’re using and a page to test against), feel free to open a new issue. As it is, there is nothing actionable in this issue report. The Selenium project has extensive tests that send keystrokes to a page, and they run without issue, including without dropping keystrokes. This issue is not global to all pages, so it’s likely something unique to the page you’re automating.

@rgoerner
Copy link
Author

@jimevans How can this be supplied? I can´t make this "public" here. Can I send you an URL together with the test to you?

@jimevans
Copy link
Member

Given that my (unpaid, volunteer) time I have available to spend on the Selenium project is extremely limited at the moment, accepting things via private submission might lead you to expect attention to the issue that I am unable, in good conscience, to imply I am able to provide. A public-facing example that demonstrates the issue, even if it’s not the exact page you personally are automating, would be the better choice.

@rgoerner
Copy link
Author

This is runned in Eclipse, with Firefox, it is super fast, with Internet Explorer, it is terrible slow. It does not matter now if we use 64bit or 32bit driver anyway :(

package automationFramework;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class FirstTestCase {

public static void main(String[] args) throws InterruptedException {
	// Create a new instance of the Firefox driver
	System.setProperty("webdriver.gecko.driver", "c:\\selenium\\geckodriver.exe"); 
	//System.setProperty("webdriver.ie.driver", "c:\\selenium\\IEDriverServer.exe"); 
	
	
	DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
	//capabilities.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false);
	
	WebDriver driver = new FirefoxDriver();
	//WebDriver driver = new InternetExplorerDriver();
	
    //Launch the Online Store Website
	driver.get("https://xxxxxx");
    // Print a Log In message to the screen
    System.out.println("Successfully opened the website xxxxxx");
    
    driver.findElement(By.cssSelector("[type='email']")).sendKeys("bla@bla.de");


	//Wait for 5 Sec
	Thread.sleep(5000);
	
    // Close the driver
    driver.quit();

}

}

@jimevans
Copy link
Member

Once again, the page to test against is the most important piece, and you’ve declined to share that (supplying https://xxxxxx instead).

@rgoerner
Copy link
Author

@rgoerner
Copy link
Author

@jimevans is there real support for Windows 10 at all? I read along that officially support is only given for Win7 - 8.1 ?

@barancev
Copy link
Member

It's a "feature" of the input field. It has an attached verification script that is called on each typed char, and the script is very slow. Try to enter text manually in the field and you'll see it's reacting with significant delays. Selenium types faster than a human, and the input field is not able to handle all the chars on high typing speed. Change the code to slow down typing, enter chars one by one:

WebElement email = driver.findElement(By.cssSelector("[type='email']"));
for (char c : "bla@bla.de".toCharArray()) {
    email.sendKeys(Character.toString(c));
}

@rgoerner
Copy link
Author

@barancev
This worked :) Thank you very very much
Can you put this on your FAQ - site maybe? So many guys are looking for a solution :)

@lock lock bot locked and limited conversation to collaborators Aug 17, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants