Tech Talk Blog

2008年06月11日

Watirを使ってテストを自動化しようの話

こんにちは、TypePadのQAを担当している山口です。今回はWatirを使ったテストの自動化の話を少ししたいと思います。

Watir = Web Application Test In Ruby

WatirはRuby上で動作するウェブアプリケーション向けのテスト自動化ツールです。「Web Application Testing in Ruby」の頭字語で「ウォーター(water)」と発音します。

Watirはこんな風に使います。

require "watir"
ie = Watir::IE.new
ie.goto("http://memolog.org/")

といった風に使います。Watirに組み込まれているメソッドを利用するだけで簡単にIEを操作することができます。この例では、IEを自動的に起動して、http://memolog.org に移動します。

Watir vs Selenium

WatirとSeleniumの違いはその動かし方にあります。SeleniumはJavascriptをベースにブラウザを操作するため、Javascriptが有効なブラウザなら基本的に動作するという利点があります。ただし、Javascriptで動かすゆえに、cross-site scripting の制限があり、テストするアプリケーションと同じサーバーに、Seleniumをインストールする必要があります。

WatirはWin32OLEというライブラリを使って、IEそのものを操作するため、サーバーに何かをインストールする必要はありません。ただしWin32OLEを使うという性格上、Windows IE用という性格が色濃い印象があります。FirefoxやSafari用のWatirも用意はされていますが、たとえばFirefox版のWatirでは日本語入力がうまく利用できないなど、各ブラウザの対応状況はまちまちです。

こうした点を考えると、複数のウェブサービスをまたがるようなテストを自動化したい場合はWatir、複数のブラウザ・プラットフォームでテストしたい場合はSeleniumを利用する、という切り分け方ができるように思います。重要なのは「どんなツールを使うか」ではなくて「そのツールで何をするか」です。TypePadを例にすると、複数のASPサービスで動作をテストする必要があることや、USでの実績があること、検証環境の都合、個人的な趣味など、いくつかの点を考慮して、Watirの方を採用しました。

参考サイト

投稿者について

山口裕
山口
Vox: http://memolog.vox.com/
Blog: http://memolog.jp/
  • 20:55

トラックバック

トラックバック URL

コメント

コメント投稿

コメント投稿フォーム:

このページのトップへ