| ワティル | |
|---|---|
| 開発者 | ブレット・ペティコード、チャーリー・ベイカー、アングレズ・シン、ヤリ・バッケン、ヤルモ・パートマン、ヒュー・マクゴーワン、アンドレアス・トルフ・トルフセン、ポール・ロジャース、デイブ・フーバー、サイ・ヴェンカタクリシュナン、トム・コープランド、アレックス・ロディオノフ、タイタス・フォートナー |
| 安定放出 | 6.17 / 2020年8月28日 ( 2020-08-28 ) |
| 執筆 | ルビー |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | Webアプリケーション向けソフトウェアテストフレームワーク |
| ライセンス | MITライセンス |
| Webサイト | watir.com |
Watir(Web Application Testing in Ruby 、発音はウォーター)は、 Webブラウザを自動化するためのオープンソースのRubyライブラリ群です。[ 1 ] [ 2 ] Internet Explorer 、 Firefox、Chrome、Opera、Safariを駆動し、RubyGems gemとして利用可能です。 [ 2 ] [ 3 ] Watirは主にBret PettichordとPaul Rogersによって開発されました。
Watirプロジェクトは、いくつかの小規模プロジェクトで構成されています。中でも最も重要なのは、watir-classic、watir-webdriver、そしてwatirspecです。
Watir-Classic は、Ruby に組み込みのオブジェクト リンクと埋め込み(OLE) 機能があることを利用します。そのため、プログラムでInternet Explorer を操作することが可能です。[ 4 ] Watir-Classic は、ブラウザをシミュレートして動作する HTTP ベースのテスト ツールとは異なります。Watir-Classic は、コンポーネント オブジェクト モデル(COM) アーキテクチャ上に実装された OLE プロトコルを介してブラウザを直接操作します。
COMは、プロセス間通信(RubyとInternet Explorer間の通信など)や、動的なオブジェクトの作成と操作(RubyプログラムがInternet Explorerに対して行う操作)を可能にします。Microsoftはこの機能を「OLEオートメーション」と呼び、操作するプログラムを「オートメーションコントローラ」と呼んでいます。技術的には、Internet Explorerプロセスがサーバーとしてオートメーションオブジェクトを提供し、そのメソッドを公開します。一方、Rubyプログラムはクライアントとしてオートメーションオブジェクトを操作します。
Watir-Webdriverは、 SeleniumをベースにしたWatir APIの最新バージョンです。Selenium 2.0(Selenium-Webdriver)は、WebDriver仕様のリファレンス実装となることを目指しています。Jari Bakken氏は、RubyでSelenium 2.0 APIのラッパーとしてWatir APIを実装しました。Watir-WebdriverはSelenium 2.0から派生しているだけでなく、HTML仕様に基づいて構築されているため、既存のW3C仕様との互換性を常に確保しています。
Watirspecは、 RubySpecがRubyにとっての仕様書であるように、Watir APIの実行可能な仕様書です。