Watir (Web Application Testing in Ruby, pronounced water), is an open-source family of Ruby libraries for automating web browsers.
Watir is a user focused way to test your websites. It mostly uses Selenium for browser automation, but it provides many more high level features that make it easy to write stable, maintainable tests.
Watir is designed for “Test Automation.” It takes the code in a page object and translates it into the series of applicable Selenium and JavaScript calls to accomplish the desired functionality. Watir attempts to understand the intention of the code in a test suite and tries to follow a “Do What I Mean” philosophy to accomplish it.
Watir project consists of several smaller projects. The most important ones are watir-classic, watir-webdriver and watirspec.
Key Features
- Built-in libraries offering a good range of functionality.
- Location web elements – there are different ways you can locate web-elements rendered inside the browser. The ones mostly used are id, class, tag name, custom attributes, label etc.
- Taking Screenshots – take screenshot of the testing done as and when required. This helps to keep track of the intermediate testing.
- Page Performance – measure page performance using the performance object which has properties like, performance.navigation, performance.timing, performance.memory and performance.timeOrigin. These details are obtained when you connect to the browser.
- Page Objects – helps to reuse the code in the form of classes. Using this feature, we can automate our app without having to duplicate any code and also make it manageable.
- Downloads – easy to test file download for UI or website.
- Alerts – provides easy to use APIs to test alerts popup in your UI or website.
- Headless Testing – using headless testing,the details are obtained at the command line without having to open the browser. This helps to execute UI test cases at the command line.
- Supports all modern web browsers.
Website: watir.github.io
Support: GitHub Code Repository
Developer: Watir team
License: MIT License
Watir is written in Ruby. Learn Ruby with our recommended free books and free tutorials.
Related Software
| Test Automation Tools | |
|---|---|
| Appium | Open source automation tool |
| Cypress | Fast, easy and reliable testing |
| Robot Framework | Python-based, extensible keyword-driven automation framework |
| Cucumber | Tool for running automated tests written in plain language |
| Selenium | Portable framework for testing web applications |
| Gauge | Lightweight cross-platform test automation tool which uses Markdown |
| Nightwatch | Integrated testing framework powered by Node.js |
| WebdriverIO | Browser and mobile automation framework for Node.js |
| Allure Report | Multi-language test report tool |
| Karate | Unified test automation framework |
| Dojo Toolkit | JavaScript toolkit that scales with your development process |
| Playwright | Framework for web testing and automation |
| CodeceptJS | Scenario-driven end-to-end testing framework for Node.js |
| tox | Automate and standardize testing in Python |
| nox | Automates testing in multiple Python environments, similar to tox |
| Carina | Java-based test automation framework that unites all testing layers |
| Testsigma | Extensible test automation platform that works out of the box |
| Watir | Web application testing in Ruby |
| Serenity | Test automation reporting library (previously known as Thucydides) |
| Cerberus Testing | Low-code test automation platform |
| Galen | Tool for testing layout and responsive design of web applications |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

