- One of the most popular testing frameworks for web applications as of today
- First open-source test framework using an user-centric point of view
- Unintrusive and doesn’t need any modifications of your app to test it
Selenium, as of today, is composed of several projects :
Selenium IDE The Firefox plugin used to build test-cases and test-suites directly on top of your web-app. You can also export your tests to Selenium RC.
Selenium RC A client/server system that allows you to execute tests written in a variety of languages on a local or remote computer and on all major browsers.
Selenium Grid Selenium Grid leverages Selenium RC to provide a test environment that spans on multiple machines at once, reducing the testing time.
Selenium on Rails A framework that is built especially to test applications running on the Rails framework.
CubicTest An Eclipse plugin which purpose is to conceive and execute tests using the pageObjects pattern.
Bromine A simple web-based QA tool targeting the single tester that doesn’t want/can’t invest in complex corporate QA solutions.
While being very popular, Selenium is not the ultimate all-in-one testing tool and you should NOT rely on Selenium only to test your applications. The following chart helps you situate Selenium among the web-testing stack.
Multi-controller tests : htmlunit, webrat, cucumber
View testing in isolation : rspec, Selenium (see Section 9.1.2, “Unit testing”)
Functional Testing/Controller testing
Unit testing/Model Testing : server side, depends on backend technology
- At first, built by Jason Huggins, Paul Gross and Jie Tina.
- Soon, his colleague Paul Hammant saw a demo and pushed for an open-source release as well as to expand it with a ‘driven’ mode from a client using any language.
- Dan Fabulich and Nelson Sproul from Bea decided to improve Selenium and bundle the browser driver code into a standalone server, ‘Selenium Remote Control’. Pat Lightbody, worked with Dan and Nelson to improve and stabilize it.
- Shinya Kasatani in Japan found interest in Selenium and started to work on Selenium IDE.
- In 2007, Jason Huggins joined the then secret Selenium team at Google and with other Googlers like Jennifer Bevan worked on a grid capability to test some of Google’s public applications. Google presented their use of selenium at the 2nd Google Test Automation Conference (GTAC) and Jennifer was invited to join the Selenium team.
- The same year, Haw-bin Chai in Chicago developed the “UI Element” extension, which he was invited to merge into Selenium IDE by joining the team.
- Meanwhile, Simon Stewart worked on another tool called ‘WebDriver’. Soon, it was decided that the two projects should merge for Selenium 2.0 and joined Google to make it happen.
- Nowadays, Erik Beans does much of the work at Google.