Open Source Alternatives:
See also:
[Start Discussion]
- Which language will be best to use in Selenium Remote control. (sharu 0 replies) Replies: 0 Last post: 2008-05-21
Selenium
[edit]
Brief Description
Selenium is a tool that tests web applications directly from a browser (Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh). It has an integrated development environment for Selenium tests called Selenium IDE implemented as a Firefox extension.
[edit]
Wiki description
| Contents |
|---|
Description
Selenium is a testing tool for web applications that runs directly into a browser. It is useful to test:
- browser compatibilities (the same script can work on any Selenium platform);
- system functionality (by creating regression tests to verify the user acceptance).
The application is built on a JavaScript platform and uses Iframes to automate a test into a browser.
All of the versions available are available without any charge, being open-source.
Supported operating systems and browsers
It can be used on a big variety of operating systems and browsers:
- Windows:
- Internet Explorer 6.0
- Firefox 0.8 to 2.0
- Mozilla Suite 1.6+ or 1.7+
- Seamonkey 1.0
- Opera 8
- Mac OS X:
- Safari 1.3+
- Firefox 0.8 to 2.0
- Camino 1.0a1
- Mozilla Suite 1.6+, 1.7+
- Seamonkey 1.0
- Linux:
- Firefox 0.8 to 2.0
- Mozilla Suite 1.6+, 1.7+
- Konqueror
Available versions
Selenium IDE
Selenium IDE is implemented as an extension for Firefox and it's probably the simplest way to start testing an application. It starts recording the test by pressing a button and each action you make on the website it's remembered as a step. After that you can run it, save it and used as many times as you need.
Features
- Record and playback the tests
- Field selection will use IDs, names, or XPath
- Autocomplete for all common Selenium commands
- Navigate through tests
- Debug and set breakpoints
- Save the tests as HTML, Ruby scripts, or any supported other format
Screenshots
Selenium Core
Selenium Core can be used to run the testing application on any supported browser. It is written in JavaScript/DHTML, and you can use it by copying the tests directly into the application webserver, allowing the tests to run in any supported browser on the client-side.
Selenium Core it's released under the Apache 2.0 license.
Screenshots
Selenium Remote Control
Selenium Remote Control is a test tool that allows to write automated web application User Interface tests in any programming language. It can be used to test any HTTP website on any mainstream JavaScript-enabled browser.
Selenium RC application provides a Selenium Server that is able to start/stop/control any supported browser by communicating directly with the browser using AJAX (XmlHttpRequest).
The commands can be sent easily using simple HTTP GET / POST requests. That means that you can use any programming language that can make HTTP requests to automate Selenium tests on the browser. Also, it provides wrapper objects for a number of mainstream programming languages, such as:
- Java
- .NET
- Perl
- Python, and
- Ruby
Selenium RC is released under the Apache 2.0 license.
Main competitor and how to choose
The main competitor of Selenium is Canoo Webtest.
For running test in Canoo Webtest you have to write the tests in a simple syntax with steps. Because it just simulates a browser the Javascript support is not as good as for Selenium and it doesn't saccept badly formed HTML, but it's much faster. One big advantage of Webtest over Selenium is the reports that are better detailed and allow the user to understand easily the failure causes.
Same as for Selenium, Canoo Webtest is cross-platform and can run on any operating system that supports Java.
Other advantages of Webtest over Selenium are:
- the better integration into the development process
- more scalabile
- better capture of JS errors
- a bit more documentated
- more predictable behaviour
- better XPath support
- extensible
- supports data-driven tests
- it has internationalization support
- it supports Non-HTML content
But, the advantages of Selenium over Canoo Webtest are very important for any testing project, event if there are just a few:
- much better browser fidelity
- it's more beginner friendly
- it supports badly formatted HTML code
- multi-language support
10/10