Feature | Selenium IDE | Selenium RC | WebDriver |
---|---|---|---|
Browser Compatibility | Selenium IDE comes as a Firefox plugin, thus it supports only Firefox | Selenium RC supports a varied range of versions of Mozilla Firefox, Google Chrome, Internet Explorer and Opera. | WebDriver supports a varied range of versions of Mozilla Firefox, Google Chrome, Internet Explorer and Opera. Also supports HtmlUnitDriver which is a GUI less or headless browser. |
Record and Playback | Selenium IDE supports record and playback feature | Selenium RC doesn't supports record and playback feature. | WebDriver doesn't support record and playback feature |
Server Requirement | Selenium IDE doesn't require any server to be started before executing the test scripts | Selenium RC requires server to be started before executing the test scripts. | WebDriver doesn't require any server to be started before executing the test scripts |
Architecture | Selenium IDE is a Javascript based framework | Selenium RC is a JavaScript based Framework. | WebDriver uses the browser's native compatibility to automation |
Object Oriented | Selenium IDE is not an object oriented tool | Selenium RC is semi object oriented tool. | WebDriver is a purely object oriented tool |
Dynamic Finders (for locating web elements on a webpage) |
Selenium IDE doesn't support dynamic finders | Selenium RC doesn't support dynamic finders. | WebDriver supports dynamic finders |
Handling Alerts, Navigations, Dropdowns | Selenium IDE doesn't explicitly provides aids to handle alerts, navigations, dropdowns | Selenium RC doesn't explicitly provides aids to handle alerts, navigations, dropdowns. | WebDriver offers a wide range of utilities and classes that helps in handling alerts, navigations, and dropdowns efficiently and effectively. |
WAP (iPhone/Android) Testing | Selenium IDE doesn't support testing of iPhone/Andriod applications | Selenium RC doesn't support testing of iPhone/Android applications. | WebDriver is designed in a way to efficiently support testing of iPhone/Android applications. The tool comes with a large range of drivers for WAP based testing. For example, AndroidDriver, iPhoneDriver |
Listener Support | Selenium IDE doesn't support listeners | Selenium RC doesn't support listeners. | WebDriver supports the implementation of Listeners |
Speed | Selenium IDE is fast as it is plugged in with the web-browser that launches the test. Thus, the IDE and browser communicates directly | Selenium RC is slower than WebDriver as it doesn't communicates directly with the browser; rather it sends selenese commands over to Selenium Core which in turn communicates with the browser. | WebDriver communicates directly with the web browsers. Thus making it much faster. |