メモログ

Watir 2.0 / Webdriverベースのwatir

次世代の Watir、Watir 2.0 を Webdriver ベースに実装しようという話。3 ヶ月以上前の話ですけど先日気がつきました。こんなことやってるんですね。Webdriver はウェブアプリケーションのテストを自動化するためのフレームワークで IE や Firefox、Chrome など複数のブラウザをサポートしています。Watir が Webdriver ベースになれば IE 以外のブラウザでも使用することができるようになる(今でも FireWatir とかありますけど)。これはすばらしい。

Selenium でも複数のブラウザをサポートしていますが、WebDriver と Selenium との大きな違いは Selenium は Javascript で動作させている一方で Webdriver はブラウザによって異なるアプローチで動作させること。たとえば IE では IE’s Automation controls を利用して、Firefox では Extension として実装されている。これによってセキュリティ上 Javascript では難しい Windows のダイアログからのファイルの選択とか、サイトをまたがった操作もできるようになる。

そして Selenium も Selenium 2.0 という名で Webdriver をベースにした開発をしているみたいですね。どこまで進んでいるのかとか詳しいことは分かってません。とにかく、次世代の Watir と Selenium はどちらも Webdriver をベースになるということです。これによって Watir の優位性は薄れるなあという感じですね。Watir はもう役目を終えてしまったのかではないかという感があります。

しかし、ひとつ Watir の優れたところを上げるとしたらメソッドの持ち方かなと思います。Selenium のメソッドWatir のメソッドを比較すると、Selenium は Javascript のメソッドをベースにしていて、Watir では HTML タグがメソッドの作り方のベースになっている。個人的にはですが、Watir の方がメソッドは圧倒的に分かりやすい。Javascript のメソッドはそもそもわかりにくいので。

今後も Watir が存続する理由というか必要性というか、残っていてほしい理由はここにありそうです。とはいえ利用者数では Selenium が圧倒的な感はあって、どちらを使用するかは悩んじゃいますけどね。うむ。

私について

Yutaka Yamaguchi
東京在住。TypeScript, Node.js, Reactなどフロンエンドが主力。Perlも書く。SwiftやRubyも過去には使ってた。過去のTOEIC 860くらい。