Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selenium - NoSuchWindowException in IE 11

Tags:

I am trying to automate a webpage using selenium in IE11. I have set the protected mode settings to same level and zoom level is 100%. While running the test it opens the website however gives the exception just after. Below is the code used.

   File file = new File("C:\\Users\\Desktop\\IEDriverServer.exe");    System.setProperty("webdriver.ie.driver", file.getAbsolutePath() );           DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();    capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,    true);     WebDriver driver = new InternetExplorerDriver(capabilities);    driver.get("http://www.google.com"); 

And the exception stacktrace

Started InternetExplorerDriver server (32-bit) 2.39.0.0 Listening on port 38122 Jul 11, 2014 1:50:02 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO: I/O exception (java.net.SocketException) caught when processing request: Software caused        connection abort: recv failed Jul 11, 2014 1:50:02 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO: Retrying request Exception in thread "main" org.openqa.selenium.NoSuchWindowException: Unable to find element on   closed window (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 18 milliseconds Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:12:12'  System info: host: 'Neeraj', ip: '10.136.180.161', os.name: 'Windows 7',  s.arch: 'amd64',      os.version: '6.1', java.version: '1.7.0_60'  Session ID: ab6edd65-8a66-41fa-be46-56fba7dbdfc9 Driver info: org.openqa.selenium.ie.InternetExplorerDriver  Capabilities [{platform=WINDOWS, javascriptEnabled=true, elementScrollBehavior=0,                          ignoreZoomSetting=false,                                  enablePersistentHover=true, ie.ensureCleanSession=false, browserName=internet explorer, enableElementCacheCleanup=true,   unexpectedAlertBehaviour=dismiss, version=11, ie.usePerProcessProxy=false, cssSelectorsEnabled=true,   ignoreProtectedModeSettings=true, requireWindowFocus=false,  handlesAlerts=true, initialBrowserUrl=http://localhost:38122/, ie.forceCreateProcessApi=false, nativeEvents=true, browserAttachTimeout=0, ie.browserCommandLineSwitches=, takesScreenshot=true}]       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)       at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)       at java.lang.reflect.Constructor.newInstance(Unknown Source)       at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)       at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)     at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)  at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:307)  at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:348)  at org.openqa.selenium.By$ById.findElement(By.java:220)  at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:299)  at Test1.main(Test1.java:27) 

Any suggestions on how to resolve this.

like image 979
Wanderer Avatar asked Jul 14 '14 22:07

Wanderer


People also ask

Does Selenium support IE 11?

The Selenium Project will not remove support for IE 11 when it retires but we will not actively fix issues as we have done with previous versions of IE. The Microsoft Edge team have committed to supporting IE Mode in Edge until 2029 when support for Windows 10 is retired.

Does selenium work with Internet Explorer?

Since Selenium gives the option of running our tests in multiple browsers, Selenium with IE browser blending can be used to test any application. IE has a driver, which creates a connection between Selenium WebDriver and IE. and then executes the Selenium tests on Internet Explorer.

How do you handle Nosuchwindowexception?

To overcome this, we need to handle the opened windows using one of the webdriver methods called “driver. getWindowHandles()”. Once you have this information then you can switch to the corresponding window to automate or interact with the window.


1 Answers

First of all, don't use

capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 

as you have already set Protected mode settings. For the issue you are seeing, it should be because of the missing registry settings that is added as a prerequisite for running tests in IE11:

https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration

like image 58
Sitam Jana Avatar answered Oct 16 '22 20:10

Sitam Jana