Selenium is one of the most commonly used testing tool for Web-based applications. Selenium first started with the automation testing library in JavaScript written by Jason Huggins in 2004 and the library became Selenium Core, which underlies all the functionality of Selenium IDE and Selenium Remote Control. The latest release for Selenium server is 2.11. Selenium supports test scripts written in Java, C#, Ruby, Python, Perl, PHP and .Net. Selenium tests run directly in an supported browser, including IE, Firefox, chrome, and Safari.
What to test?
- Static Page Content: verify anything in static source code like title, footer, images.
- Links: check if the link is a broken link and if expected page returned with the link.
- Functionality: test user response with defined inputs. Typical tests can be for user login/registration to, user account operations, backend data retrieval operations, etc. User input can be via any browser-supported input fields, like text input boxes, check boxes, drop-down menus, etc.
- Dynamic Elements: test if the dynamic result is generated based on the specific user action.
- Ajax Tests: check if the content is returned after a certain time period. The best way to locate and verify an Ajax element is to use the Selenium 2.0 WebDriver API.
Ways to test?
Selenium provides a test suite to fit different kinds of testing requirements.
- Selenium IDE
Selenium IDE is a browser plugin which allows you make your test cases or test suites manually or using the record and play feature. Current highest stable release for Firefox 7.0.1, and Selenium IDE 1.4 supports Firefox 8. It is better to generate and test your test cases/suites in Selenium IDE before running them in the Selenium server.You can import and export test cases/suites in different programming languages.

- Selenium 1 (Selenium RC)
Selenium Remote Control server serves as the intermediate server between the client browsers and the client language libraries. Most test cases extend the SeleneseTestCase in the com.thoughtworks.selenium package, which is marked as deprecated. It is recommended that you use the Selenium 2 and WebDrive instead.Use “java -jar [absolute_path_to_seleniumServer]” to start Selenium server and Ctrl+C to stop it. If you double click to start the server, try this URL to stop it: http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer - Selenium 2.0 and WebDriver
Selenium 2 is a way to test all of these different web browsers without having to install Selenium Core on the web server since it has been bundled with Selenium RC so it can act as a proxy server between the testing application and the test script.
You can run the testcase with notations as JUnit Test or run the WebDrive as Java application in your IDE. If you have JUnit jar file in your classpath, you can run JUnit tests in command prompt with this syntax:
java junit.textui.TestRunner [-wait] TestCaseClassTest suite directly in command line prompt with syntax similar to below:
java -jar selenium-server-standalone-.jar -htmlSuite "*firefox"
"http://www.google.com" "[absolute_path_to_testSuite]"
"[absolute_path_to_testResultFile]"
Reference:
1. Platforms Supported by Selenium
2. Selenium Documentation



