Seleniumでキャプチャを取得する拡張コマンド:captureScreenshot
captureScreenshotをHTMLのテストケースで実行する方法の続き。
URLを指定して、キャプチャを出力できることが分かったので、自前でコマンドを作成してみました。
以下から、コマンドを記述したuser-extensions.jsと、起動用のバッチファイルをダウンロードできます。
HTMLのテストケースでは、captureScreenshotというコマンドで利用できるようにしています。
コマンド名 | captureScreenshot |
第一引数 | fileName キャプチャのファイル名 |
第二引数 | withTimestamp タイムスタンプをつけるかどうか(true/false) |
テストケース実行時に、user-extensions.jsを指定して実行すれば、コマンドが利用可能になります。
実行方法は、以下の通りです。
Selenium RCのInteractive Modeで起動する場合
Selenium Serverの起動オプションで、「-userExtensions」を指定して実行します。
java -jar selenium-server.jar -htmlSuite-userExtensions user-extensions.js
selenium-rc-run.zipを解凍して得られる「runTestSuite.bat」を実行すると、サンプルが実行できます。
Selenium IDEから実行する場合
Selenium IDEを起動し、[オプション]→[設定]→[一般]タブ→[Selenium Core 拡張スクリプト(user-extensions.js)のパス]で、selenium-rc-run.zipを解凍して得られるuser-extensions.jsを絶対パスで指定してください。
また、テストケースを実行する前に、Selenium Serverを起動しておいてください。これは、Selenium Server経由で、キャプチャ画像を出力するためです。
「runServer.bat」を実行すると、Selenium Serverを起動できます。
上記の準備ができたら、テストケースを実行してください。
selenium-rc-run.zipを解凍して得られる「input/GoogleTest.html」を、Selenium IDEの[ファイル]→[テストを開く]から指定してすれば、サンプルが実行できます。
出力された画像は、こんな感じ。デスクトップ全体がキャプチャとして取られます。