All the tools listed on this page are open-source.
Watir supports Internet Explorer and Firefox. These variations of Watir support other browsers.
- SafariWatir - supporting Apple Safari on the Mac
- watir-webdriver - supports Internet Explorer, Firefox and Chrome
- WET is an open source web automation testing tool which uses Watir as the library to drive web pages. WET offers the convenience of recorders, without compromising on the requirements of a true test automation tool. Project looks dead, last release was in 2007.
- FlashWatir is an extension to Watir in order to test Adobe Flash components. Currently supports Firefox with ongoing work to support IE.
Many people like the Watir API, but prefer to program in something other than Ruby.
- Watij - A port of Watir to Java
- WatiN - A port of Watir to .Net
- BrowserUnit - A Watir-inspired tool for .Net. Project looks dead, last activity was in 2006.
- Win32-Watir is a Perl port.
Watir uses the COM interface to Internet Explorer's DOM (document object model). So do these other tools.
- Samie is in Perl. It was the inspiration for Watir.
- Win32::IE::Mechanize is another Perl-based test tool. (Note this is different from WWW::Mechanize, which is not a COM/DOM driver, but rather a protocol driver.)
- Pamie is a port of Samie to Python.
- Jiffie - a Java/JNI library which allows Microsoft Internet Explorer to be controlled from Java. The primary purpose of this library is to allow automated regression testing of web applications using a framework like JUnit. Jiffie is designed to be simple to use and easy to extend. It is not designed to be a complete implementation of all of the COM interfaces made available by Internet Explorer.
- Avignon is a GPL tool for web testing, includes AvignonIE.jar, which can talk to IE via COM, and AvignonFirefox, which talks to Firefox via JSSH. Test scripts are XML.
- AutonomyV - This VB Script library also includes source for a recorder.
- Sahi is another tool that takes this approach
There are very, very many open-source tool that directly connect to a web server and therefore mimic a browser, rather than automate it. We make no attempt to catalog these tools on this page, but will relocate citations to such tools mistakenly listed above to here (rather than deleting them).
- Python port of Mechanize.