Revision as of 16:24, 14 May 2012 editCmcmahon (talk | contribs)25 edits →Watir-webdriver← Previous edit | Revision as of 12:07, 26 May 2012 edit undo95.223.17.148 (talk) fixed linkNext edit → | ||
Line 28: | Line 28: | ||
== Watir-webdriver == | == Watir-webdriver == | ||
Watir-webdriver is a modern version of the Watir API based on ]. Selenium 2.0 (selenium-webdriver) aims to be the reference implementation of the ] specification. In Ruby, Jari Bakken has implemented the Watir API as a wrapper around the Selenium 2.0 API. Not only is Watir-webdriver derived from Selenium 2.0, it is also built from the ] specification, so Watir-webdriver should always be compatible with existing ] specifications. | Watir-webdriver is a modern version of the Watir API based on ]. Selenium 2.0 (selenium-webdriver) aims to be the reference implementation of the ] specification. In Ruby, Jari Bakken has implemented the Watir API as a wrapper around the Selenium 2.0 API. Not only is Watir-webdriver derived from Selenium 2.0, it is also built from the ] specification, so Watir-webdriver should always be compatible with existing ] specifications. | ||
== Similar tools == | == Similar tools == |
Revision as of 12:07, 26 May 2012
This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Watir" – news · newspapers · books · scholar · JSTOR (September 2010) (Learn how and when to remove this message) |
Developer(s) | Bret Pettichord, Charley Baker, Angrez Singh, Jari Bakken, Jarmo Pertman, Hugh McGowan, Andreas Tolf Tolfsen, Paul Rogers, Dave Hoover, Sai Venkatakrishnan, Tom Copeland |
---|---|
Stable release | 3.0 / April 24, 2012 (2012-04-24) |
Written in | Ruby (programming language) |
Operating system | Cross-platform |
Type | software testing framework for web applications |
License | BSD license |
Website | watir |
Web Application Testing in Ruby (or Watir, pronounced "water") is a toolkit used to automate browser-based tests during web application development. This automated test tool uses the Ruby programming language to drive Internet Explorer, Mozilla Firefox, Google Chrome, Opera and Safari, and is available as a RubyGems gem. Watir was primarily developed by Bret Pettichord and Paul Rogers.
Functionality
Watir makes use of the fact that Ruby has built in Object Linking and Embedding (OLE) capabilities. As such it is possible to drive Internet Explorer programmatically. Watir operates differently than HTTP based test tools, which operate by simulating a browser. Instead Watir directly drives the browser through the OLE protocol, which is implemented over the Component Object Model (COM) architecture.
The COM permits interprocess communication (such as between Ruby and Internet Explorer) and dynamic object creation and manipulation (which is what the Ruby program does to the Internet Explorer). Microsoft calls this OLE automation, and calls the manipulating program an automation controller. Technically, the Internet Explorer process is the server and serves the automation objects, exposing their methods; while the Ruby program then becomes the client which manipulates the automation objects.
Watir-webdriver
Watir-webdriver is a modern version of the Watir API based on Selenium. Selenium 2.0 (selenium-webdriver) aims to be the reference implementation of the WebDriver specification. In Ruby, Jari Bakken has implemented the Watir API as a wrapper around the Selenium 2.0 API. Not only is Watir-webdriver derived from Selenium 2.0, it is also built from the HTML specification, so Watir-webdriver should always be compatible with existing W3C specifications.
Similar tools
- Celerity is similar to Watir, but emulates a browser instead of driving a real browser.
- Vapir (pronounced /ˈveɪpər/) is a Watir fork with bug fixes, API changes and new functionality.
- WatiN (pronounced What-in) stands for Web Application Testing In .NET. It is similar to Watir, but is implemented in .NET Framework.
- Watij (pronounced wattage) stands for Web Application Testing in Java. It is similar to Watir, but implemented in Java.
- Win32-Watir is similar to Watir, but implemented in Perl.
- win-control is similar to Watir, but implemented in Gambit (Scheme implementation).
- Selenium (software) is a portable software testing framework for web applications.
- iMacros is similar to Watir, but includes visual recording, web scraping support and a COM object for use with any programming language (Windows only)
- Watir for Rails is similar to Watir, but it uses Selenium WebDriver and is integrated to Rails 3.
Recorders
There are a few recorders that can create Watir scripts, but none of them are supported by the Watir community. Watir forums normally do not entertain questions on recorders as they expect such questions to be raised in forums specific to the recorder(s).
- CubicTest is a graphical Eclipse plug-in for writing Selenium and Watir tests.
- Firewatir-Gen translates the XML output from TestGen4Web into Watir code: Firewatir-Gen at code.google.com, Firewatir-Gen at rubyforge.org.
- TestWise Recorder is a Firefox 3 extension, which records your operations into executable RWebSpec and Watir test scripts while you navigates through your web application in Firefox.
- Watir Recorder (or Watir Maker) is a utility for Watir test developers which will record actions in a browser.
- Watir Recorder Sharp is a fork of Watir Recorder written in C#.
- Webmetrics Script Recorder allows users to record and playback their navigation through a series of steps on any website or application to generate a simple, human readable, Watir-compatible script.