Automated Testing Tools
Previously we discussed about the reasons for using an automated testing software in our daily work. We at Viaro thought “why not make a list with some tools that can help us making that transition from manual to automated testing?” Here we present you the results.
The requirements we looked for, were:
- Multiplatform
- Multibrowser
- Short learning curve
- Well documented
Jameleon
Jameleon is a plug-in driven automated testing tool that separates applications into features and allows those features to be tied together independently, creating test cases. Test cases can be data-driven and executed against different environments and test case docs are generated from the test cases.
Jameleon uses several independent open-source projects to develop the cases:
Jelly – an open-source macro language.
JUnit. – an open-source unit testing framework for Java.
Advantages
- Multi OS
- Written using open standards such as Java and XML
- Community for support
- Complete API
Disadvantages
- The OS must be in 32 bit
- Lack of flexibility
- Only works fine in Windows
- Hard to configure and install over linux
Browser support
- Internet Explorer
- Emulated browser
Limitations
- JDK 1.4 or higher
- Test must be created with a third-party application
Programming language
- Java
- XML
Watir
Watir is an open-source (BSD) family of Ruby libraries for automating web browsers. It allows to write tests that are easy to read and maintain. It is simple and flexible. Drives browsers the same way people do. It clicks links, fills in forms, presses buttons. Also checks results, such as whether expected text appears on the page. Is a family of Ruby libraries but it supports the app no matter what technology it is developed in.
Advantages
- It’s a Ruby library
- Multi OS
- Complete API
- Community for support
- Simultaneous playback of multiple scripts
Disadvantages
- Hard to make it work over Linux
- Needs to learn ruby language
- Most of the examples are made for internet explorer
- Every browser requires a different library
- The script has to be programmed one step at the time on console.
Browser support
- Internet Explorer
- Firefox
Limitations
- Knowledge of Ruby
- Knowledge of HTML
Programming language
- Ruby
- Watir syntax
Watij
Watij stands for Web Application Testing in Java. Based on the simplicity of Watir and enhanced by the power of Java, Watij automates functional testing of web applications through the real browser. Currently Watij supports automating Internet Explorer on Windows only however with a future plan to support Mozilla. Watij supports XPath expressions for finding HTML elements on a page. Watij also manages popup browser windows.
Advantages
- Works with Jruby
- Complete API
- JUnit framework can be used to write the test
- Supports XPath expressions
Disadvantages
- The script has to be programmed one step at the time on console.
- Only works over internet explorer
- Non multi OS
Browser support
- Internet Explorer
Limitations
- Knowledge of Ruby
- Knowledge of HTML
- JDK 1.4 or higher
Programming language
- Java
- Ruby
- Html
Sahi
Sahi is an automation and testing tool for web applications, with the facility to record and playback scripts. Developed in java and JavaScript, this tool uses simple JavaScript to execute events on the browser. Features include, in-browser controls, text-based scripts, ant support for playback of suites of tests, and multi threaded playback. Sahi runs as a proxy server and the browser needs to use the sahi server as its proxy. Sahi then injects JavaScript so that it can access elements in the webpage.
Advantages
- Records/Playback
- Multi browser
- Implicit waits – even for complex AJAX applications
- Run tests in parallel
- Has its own IDE
- Complete API
Disadvantages
- Browser has to be configured to work with a proxy
- Sahi application run separate from the record window
- Confusing interface
- Least developed/smallest community
Browser support
- Internet explorer
- Firefox
- Chrome
- Opera
- Safari
Limitations
- Java 1.5 or above is needed
- Framesets/pages with frames/iframes loading pages from multiple domains is not supported.
- Sahi cannot handle pages which have other pages from different domains embedded in them using iframes or frames.
- File upload field will not be populated on browsers for javascript verification. File upload itself works fine
Programming language
- JavaScript
Selenium IDE
Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing to easily and quickly record and play back tests in the actual environment that they will run.
Advantages
- Easy record and playback
- Intelligent field selection will use IDs, names, or XPath as needed
- Autocomplete for all common Selenium commands
- Walk through tests
- Debug and set breakpoints
- Save tests as HTML, Ruby scripts, or any other format
- Support for Selenium user-extensions.js file
- Option to automatically assert the title of every page
Disadvantages
- Only works on firefox
- Have to learn Selenese
- Confusing interface
- Lack of any possible iterative or selection statements
- Simple API
Browser support
- Firefox
Limitations
- Hard to make it work over internet explorer
- Some things can be added through additional extensions
Programming language
- Selenese
- HTML
Pingback: Selenium Grid – grave e reveja seus testes « Blog do Enio de Aragon
Pingback: Conexão TE » Blog Archive » Selenium Grid – grave e reveja seus testes