Functional testing of web applications with selenium
Selenium is a test tool which drives the test of a web application in the web browser. Selenium supports various browsers (IE, Firefox, Safari and most other browsers) on various platforms. The open source initiative around Selenium was started in 2004 by Jason Huggins.
Writing web application tests by hand without tool support is exhausting and almost impossible at lager scale in most of the testing companies. The tooling support you need is Selenium IDE. Selenium IDE is a Firefox extension for recording tests. It records all user interaction while browsing your application and you just need to add your verification steps while doing so.
The complete list of available selenium commands is available at Selenium Core TestRunner reference page:
Selenium Remote Control (RC)
Run the server part of Selenium RC with “java -jar selenium-server.jar”. This is often also called Selenium Server.
Now we can easily execute the test case:
It takes additional overhead (~25 sec) to prepare the profile and launch the browser.
Selenium Grid is a platform to support parallel execution of test cases. The grid consists of multiple machines each running its own Selenium Server. Through parallel execution the completion time of automated web application testing can be drastically reduced.
Selenium IDE is a Firefox plugin. Open Firefox and select “Tools|add-ons|Get Add-ons”. Search for Selenium IDE and select “Add to Firefox”.
Everything else you usually need is in Selenium RC. Get the latest snapshot from:
At time of writing the latest snapshot resolved some issues with Firefox 3 on Ubuntu and OS X. Unpack the “selenium-python-client-driver” somewhere on your PYTHONPATH. You also need the selenium-server.jar to run the server part of Selenium RC.