Monday, December 22, 2014

Windows Update KB3025390 for IE 11 Breaks IE Driver

Update (10 February 2015): Microsoft has released a fix as part of the February 2015 Cumulative Update to Internet Explorer. Installing this update appears to resolve the issue with the IE driver.

On 16 December 2014, Microsoft released update KB3025390 via Windows Update as part of its normal "patch Tuesday" update cycle. For most users, this update is downloaded and installed without user interaction. This update breaks the IE driver when using it with IE11.

As part of this update, attempting to use the COM method IHTMLWindow2::execScript returns an "access denied" result.  This renders the driver unable to execute JavaScript in the page bring browsed. However, given that large portions of driver functionality are implemented using JavaScript, this effectively renders the driver all but unusable with IE11.

There is no known workaround for this issue. At this time, Microsoft's WebDriver implementation for IE is still incomplete, lacking basic functionality required to make it usable, so it cannot be recommended. Uninstalling the update is reported to restore IE driver functionality, but this is hardly ideal.

While the execScript method is marked as deprecated for IE11, the driver had heretofore been able to use that method successfully, and it was hoped that it would remain useful throughout the IE11 life cycle. We now know this not to be the case. Additionally, attempts to use the Microsoft-suggested replacement, eval, have been fruitless thus far.

At the moment, a bug has been raised via Microsoft Connect on this issue, and is being investigated by the Internet Explorer development team.
The issue is also currently being tracked in the Selenium issue tracker. There is no need to post additional comments in that issue report verifying that you are experiencing the issue. Likewise, there is no need to post comments to the issue asking for status updates. Rest assured that the issue in the Selenium tracker will be updated when new information is discovered.

What can you do to help? In the coming days and weeks, I'm sure we will see a large number of people exclaiming that their WebDriver code has mysteriously stopped working against IE11, with no action on their part, and will not have searched for answers. I'm posting this message several places as a public service announcement, and would like all of you to redirect such inquiries to this post.

4 comments:

  1. Just wanted to thank you for this post. Saved me a big headache.

    ReplyDelete
  2. Thank you so much for saving me the trouble of figuring out the cause of this issue on my own. In the very short term I will run my tests on IE10, which is obviously less than ideal, and I will check back here and on the Selenium issue tracker frequently to see if a fix or work around has been discovered. Thanks!!!

    ReplyDelete
  3. Hey Jim,

    Thank you for this post.

    Recently I have been facing an issue 'Command line server for the IE driver has stopped working.' while I am trying to execute my Selenium Test Suite against IE 11 on Windows 7 machine.

    After executing some of the test cases I am getting the above mentioned pop-up and the execution gets suspended.

    Please share me your thoughts on this.

    Thanks and Regards,
    Adarsh E M

    ReplyDelete
  4. Leaving aside for the moment that running a browser with selenium on a server platform is not a likely
    scenario, and is explicitly discouraged by the developer of the operating system, are
    the capabilities you're passing in required for this to reproduce? In other words,
    has the browser been configured properly for use with WebDriver such that the IntroduceInstability...
    capability is no longer required?

    ReplyDelete