Watir

Watir
DevelopersBret Pettichord, Charley Baker, Angrez Singh, Jari Bakken, Jarmo Pertman, Hugh McGowan, Andreas Tolf Tolfsen, Paul Rogers, Dave Hoover, Sai Venkatakrishnan, Tom Copeland, Alex Rodionov, Titus Fortner
Stable release
6.17 / August 28, 2020; 5 years ago (2020-08-28)
Written inRuby
Operating systemCross-platform
TypeSoftware testing framework for web applications
LicenseMIT license
Websitewatir.com

Watir (Web Application Testing in Ruby, pronounced water), is an open-source family of Ruby libraries for automating web browsers.[1][2] It drives Internet Explorer, Firefox, Chrome, Opera and Safari, and is available as a RubyGems gem.[2][3] Watir was primarily developed by Bret Pettichord and Paul Rogers.

Functionality

Watir project consists of several smaller projects. The most important ones are watir-classic, watir-webdriver and watirspec.

Watir-Classic

Watir-Classic 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.[4] Watir-Classic operates differently to HTTP-based test tools, which operate by simulating a browser. Instead, Watir-classic 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.

Watirspec

Watirspec is executable specification of the Watir API, like RubySpec is for Ruby.

See also

References

  1. ^ "Watir is..." Watir. Retrieved 11 October 2012.
    - "A new member in the Watir-family". Opera Software. Archived from the original on 13 February 2011. Retrieved 8 November 2023.
    - "Watir to WebDriver: Unit Test Frameworks". Facebook. Retrieved 11 October 2012.
  2. ^ a b Crispin, Lisa; Gregory, Janet (2008). Agile Testing: A Practical Guide for Testers and Agile Teams. Addison-Wesley. p. 172. ISBN 9780321534460.
  3. ^ Marick, Brian (2007). Everyday Scripting with Ruby: For Teams, Testers, and You. Pragmatic Programmer. p. 2. ISBN 9780977616619 – via Google Books.
  4. ^ Suarez, Jeremy (16 September 2010). "Creating automated test scripts with Ruby and WATIR". ThoughtWorks. Retrieved 11 October 2012.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.