作成したテストスィートやテストケースをSelenium IDEで読み込めば、作成したテストを実行できます。しかし、Selenium IDEは、Firefoxのプラグインなので、この方法ではFirefox上でしかテストできません。そこで、Firefox以外のWebブラウザでテストするには、Selenium RCを利用します。
またSelenium RCを利用すると、人手を介さずにテストを実行し、テストの実行結果をファイルに出力できるため、継続的インテグレーション(CI)でも利用できます。
それでは、Selenium RCを利用して、Selenium IDEで作成したテストを実行してみましょう。
Selenium RCはJavaアプリケーションとして動作するので、あらかじめJRE(Javaの実行環境。バージョンは5以降)をインストールしておく必要があります。@IT記事「バージョン別セットアップマニュアル一覧」などを参考にしてください。
Selenium RCは、Seleniumのダウンロードサイトから取得し、適当なディレクトリに解凍すればインストールは完了です。
コマンドプロンプトを開いて、Selenium RCを解凍したディレクトリの次のディレクトリへ移動します(x.x.xはSelenium RCのバージョン)。
selenium-remote-control-x.x.x/selenium-server-x.x.x
下記のコマンドを実行し、Selenium RCを実行します。
> java -jar seleium-server.jar -htmlSuite <Webブラウザ名> <WebアプリケーションのURL> <テストスィートのURL> <テスト結果を出力するファイル>
例えば、次のような条件テストを行いたい場合、
実行コマンドと実行時のコンソールの出力は、次のようになります。
…【省略】… > java -jar selenium-server.jar -htmlSuite *iexploreproxy http://mywebapp/ C:\Selenium\testcases\TestSuite.html 03:07:26.703 INFO - Java: Sun Microsystems Inc. 11.3-b02 03:07:26.703 INFO - OS: Windows XP 5.1 x86 03:07:26.718 INFO - v1.0.1 [2696], with Core v@VERSION@ [@REVISION@] 03:07:26.796 INFO - Version Jetty/5.1.x 03:07:26.796 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 03:07:26.796 INFO - Started HttpContext[/selenium-server,/selenium-server] 03:07:26.796 INFO - Started HttpContext[/,/] 03:07:26.812 INFO - Started SocketListener on 0.0.0.0:4444 03:07:26.812 INFO - Started org.mortbay.jetty.Server@1ffb8dc 03:07:26.953 INFO - Preparing Firefox profile... 03:07:29.140 INFO - Launching Firefox... 03:07:30.203 INFO - Checking Resource aliases 03:07:34.546 INFO - Checking Resource aliases 03:07:34.546 INFO - Received posted results 03:07:35.171 INFO - Killing Firefox …【省略】…
「-htmlSuite」オプションでは、テストスィートの絶対パスを指定します。正しく動作しない場合は、テストケースを指定していないかどうか、相対パスを指定していないかどうか確認しましょう。また、Webブラウザのオプションには、下記のものが指定できます。
IEでキャプチャを取る場合は、*iexploreではなく、*iexploreproxyを利用する必要があることに注意してください。さらに、IEでキャプチャを取るためには「snapsIE」というツールが必要になります。snapsIEの利用には、下記の手順でsnapsIEをインストールする必要があります。
Selenium IDEで作成したテストケースはそのままではIEでは動作しないことがあるので、注意が必要です。下記のサイトなどを参考にしてください。
Selenium IDEやSelenium RCの登場により、SeleniumによるWebアプリケーションのテストはより効率化されました。
今回は、HTMLのテストケースによるテストの実行を中心に紹介しましたが、Selenium RCを利用すれば、JavaやPythonなどの言語でプログラムとしてテストケースを作成することもできますし、プログラムの合い間にデータベースの初期化や検証なども挟むことができるようになります。また、Selenium Gridを使うと、一度テストを実行すれば、複数の端末で別々のWebブラウザを起動して同時にテストできます。
Seleniumの基礎をマスターしたら、次はさらに高度なSeleniumの使い方をマスターしてみてください。
Copyright © ITmedia, Inc. All Rights Reserved.