Selenium Ice: A "Cool" New Browser Extension for Internet Explorer
Posted:
Tuesday, July 1, 2008
I'm happy to announce "Selenium Ice", a new tool for developers who test web applications in Internet Explorer with Selenium. This first version of Ice is limited in scope — it simply adds a new namespace ("window.ice") to every web page, for which developers can write code in C# that is callable from JavaScript. In the future, Ice will be used by the Selenium project team as a building block for providing more native control over the IE browser process. With this native access, Selenium will be able to more reliably catch and close unexpected dialog windows, provide better information when JavaScript errors occur, or do things that require interaction with the operating system, like handling file uploads and downloads. Ice can also serve as a base for linking in faster XPath support in IE — an oft-requested feature among Selenium users.
The Ice project was developed using Visual C# 2008 Express Edition, so no development licensing fees are required beyond access to a machine running Windows. There's an NAnt script for continuous integration, a WiX script for automated creation of a Microsoft Installer (.msi), and a system test script written in Python that can launch IE and ensure that the extension works correctly.
The code is all Open Source and available under the Apache 2.0 license. You can check out our project site on Google Code and may want to join our Selenium Ice discussion group. We always love to hear from you, so let us know what you think of our cool new code!

So support for a FOSS browser is coming soon, right?
ReplyDeleteI have a hard time even seeing the point of openness when the rest of the entire software stack isn't..
Its always good to hear from you Jason. this sounds good,
ReplyDeleteis it the part of effort which will make selenium and web driver shake hand? and allow selenium users to take control of the browsers more natively?
Ethan, Selenium already has excellent support for Firefox, most notably with our Selenium IDE for Firefox. Selenium Ice is the base for improving our support in IE to the same level we have for Firefox.
ReplyDeleteAlso, the mandate for the Selenium project is to support web app testing in all the major browsers, whether they are open source or not. Of course, I wish all browsers in the world were open source, but until they are, we still have to support IE since it's very widely used.
Mubbashir, both Selenium Ice and WebDriver are attempts to provide more native control over the browser process, but they are implemented in different ways. However, they are complementary tools in this case, where Ice will be an aid to WebDriver. Neither WebDriver nor Selenium RC currently support native handling of every kind of modal dialog. Ice will be used as an aid to both tools to handle these kinds of popups.
ReplyDeleteIs there something being in work for handling Linux native dialogs?
ReplyDelete