Selenium is a Web Browser Automation testing is an open source tool for automating web applications written by ThoughtWorks. It has support of all the browser in the market and possibly all the available language like JAVA, PHP, Python and Ruby. Java and Ruby are two more popular language used with selenium along with some more third party tools such as TestNG, Junit and Ant.
Selenium QA Engineers focus on the one or two tools that most meet the needs of their project, however learning all the tools will give you many different options for approaching different test automation problems. If you are interested in knowing major Selenium tools, then here are the tools you need.
Selenium IDE is an integrated development environment testing tool and the Firefox extension, allow to record,edit and play the test. It includes the entire Selenium Core,recording capability and ability to move commands around and option to export the script to any of the supported language.
Selenium Remote Control or RC is a powerful tool from selenium and allows to write automated web application script for functional and UI test for any of the supported programming language. It comes with two part, A selenium server and client libraries.
Selenium Grid allows the test to run parallel on different machines against the different browsers. It also used to speed up the execution, support running tests against multiple run time environments.
The above version pf Selenium Grid is known as Selenium-Grid 1.0 and now its been updated and have new features and support the Selenium Webdriver. Selenium-Grid 2.0 is now merged with Selenium RC server and available only in one single package of .jar file.
Selenium WebDriver also known as Selenium 2.0 is the most powerful testing tool from Selenium and one of the best as well. Selenium 2.0 has integrated the WebDriver API to provide simple and accurate programming interface along with handle the limitation of Selenium RC. Selenium WebDriver does not require Selenium-Server to launch the browser.
Selenium RC V/s Selenium WebDriver
- Selenium RC requires you to install selenium Server and client libraries. Whereas Selenium WebDriver Does not Requires Selenium-RC Server.
- Selenium RC opens the application in two browser. Whereas, Selenium WebDriver use only one browser.
- Selenium RC used to have limitation of popups. Whereas, Selenium WebDriver never faces those limitation issues.
- Selenium RC has a bit complex API. Whereas, Selenium WebDriver has fast and easy to use API
Integrated Development Environment
Eclipse and IntelliJ IDEA are two more popular open source IDE that provides comprehensive facilities for software development. By use of plugins, Eclipse and Netbeans offers support for other languages i.e.Perl, Python, Ruby, and PHP.
TestNG along with JUnit and NUnit are mostly used Java testing framework with some of the best functionalities that make it more powerful and easier to use. For reporting purpose TestNG and ReportNG are used to generates test reports in HTML and XML formats.
Apache Maven and Apache Ant are software tool for automating software build processes and best suited to building Java projects. Build automation are used to do day-to-day activities including deployment, running tests and creating documentation or release notes and reports.
Selenium With Ruby
If you are a Ruby developers then here are the tools you should look for. These are amongst the best tools used by the Ruby community.
RSpec – RSpec is behavior driven development (BDD) framework for Ruby programming language, allowing to write application scenarios and test them.
Capybara – Capybara is an integration testing tool for rack based web applications. It simulates how a user would interact with a website.
Cucumber – Cucumber is a tool for running automated acceptance tests written in a behavior driven development style.
I hope all the above Selenium tools if used with respective technology and environment will ease out your testing pain. Just give them a try!. Already used some of all of them? Please leave us a comment and share your experiences with us.