Selenium WebDriver and InternetExplorer
internet-explorer, java, selenium, selenium-webdriver
Solution
This is probably really obvious, but as you didn't mention it in your original post and you just downloaded the driver and your internal toy app is working, have you double-checked the security settings in IE as mentioned on the IEDriver code page:
On IE 7 or higher on Windows Vista or Windows 7, you must set the Protected Mode settings for each zone to be the same value. The value can be on or off, as long as it is the same for every zone. To set the Protected Mode settings, choose "Internet Options..." from the Tools menu, and click on the Security tab. For each zone, there will be a check box at the bottom of the tab labeled "Enable Protected Mode".
If you were using a previous version of Selenium before, you've likely already done this, but I figured it was worth checking just to be sure...
Problem
I've recently updated to Selenium 2.24.1 to get Firefox 13 working. With this update you are now to run an executable similar to chromedriver.exe for it to dispatch events to IE. However I have had no luck in getting tests to run with IE. For this to run with chrome I obviously have to set the webdriver.chrome.driver bit as well, but things work fine in it and Firefox with the same code. Here is my source code: ``` public class GoogleTest { @Test public void test() throws Exception { System.setProperty("webdriver.ie.driver", "IEDriverServer.exe"); final WebDriver driver = new InternetExplorerDriver(); driver.get("http://www.google.com"); driver.findElement(By.name("q")).sendKeys("test"); driver.findElement(By.name("q")).submit(); driver.quit(); } ``` } However I am greeted with this stack trace upon execution of this test ``` org.openqa.selenium.NoSuchElementException: Unable to find element with name == q (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 395 milliseconds For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 15:28:49' System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_01' Driver info: driver.version: RemoteWebDriver Session ID: e20f8370-00ed-4bf6-a4fa-a0c09c2b6d8c at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:472) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:242) at org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:303) at org.openqa.selenium.By$ByName.findElement(By.java:291) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:234) ```