Biz∫のWEBアプリケーションのシナリオテストを自動化したい(2)

先日のエントリ[id:sikakura:20100824]で、Selenium-IDEについてはなんとなく概要がつかめた感がありました。では、同じことをGUIからではなくバッチで実行するにはどうしたらよいか。そこででてくるのがSelenium-RCという訳です。まあそれだけではなく、IESafariでテストしたい場合もRCの出番ですし、API経由でテストしたい場合もそうです。
前回と同様のダウンロードサイトhttp://seleniumhq.org/download/)からSelenium-RCを落としてきます。

解凍すると以下のような感じです。

この中で、selenium-server-1.0.3というフォルダにselenium-server.jarというJarライブラリがあり、これだけあれば、コマンドラインから動作させることが可能らしいです。
さて、試してみました。

  • Cドライブ直下にhomeというフォルダを用意し、上のselenium-server-1.0.3をコピーしました。
  • 前日のエントリで作成したテストケースをitemsearch.htmlという名前で保存し、C:\home\selenium-server-1.0.3に置きました。
  • 次に、テストスイートファイルの作成です。簡単なHTMLファイルで以下のようなものです。これをtestsuite.htmlという名前で保存し、C:\home\selenium-server-1.0.3に置きました。
<table id="suiteTable" border="1" class="selenium">
<tbody>
	<tr><td><b>My Test Suite</b></td></tr>
	<tr><td><a href="itemsearch.html">test1</a></td></tr>
</tbody></table>


C:\home\selenium-server-1.0.3>java -jar selenium-server.jar -htmlSuite "*firefox" (本当は改行しません)
http://XX.XX.XX.XX:YYYY/ C:\home\selenium-server-1.0.3\testsuite.html C:\home\selenium-server-1.0.3\result.html -singleWindow
コマンドプロンプトの実行イメージは以下のような感じです。

コマンドライン引数で指定したresult.htmlに結果が格納されています。

コマンドライン引数で、-singleWindowを指定しています。これを指定しないと2つブラウザが起動し、片方がテストの進捗を表示し、片方が実際のWebテストの様子が表示されますが、
私が作成したシナリオでは、一部エラーとなってしまったために、-singleWindowを指定しました。画面制御(フォーカス?)の関係でうまく動作しないこともあるようです。
ともあれ、バッチ実行は出来そうです。