メモログ

⛰ 塵が積もって山とならないメモのログ 👄

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が圧倒的な感はあって、どちらを使用するかは悩んじゃいますけどね。うむ。