Selenium-RCヤバすぎ
Selenium-RCって今までのdrivenモードでJavaとかRubyとかでテストコード書くっていうどっちかっていうと単体の延長みたいな?イメージだったんだけど、実はHTML(Selence)のテストケースも使えることが判明。(よく見ろよ俺)
で、こちらを参考にさせていただいて、一通り動作確認まで実施。
SeleniumRCのいいところ。
- テストするアプリで、他サイトへ飛んだりする検証ができる。(他の方法もあるけど)
- バッチ起動ができる。→まだやってないけど、複数のTestSuiteを連続でテストできる。
- テスト結果がhtmlで残る。TestRunnerの真ん中の画面(成功・失敗で色がつくとこ)のキャプチャが保存されるイメージ
- user-extensions.jsの拡張にも対応。←DLしたjarだとダメなので、java -cp でRCを起動する。
- テストする対象のドメインはコマンドラインで指定するから、テストケースでstoreGlobalとかしてドメイン指定する必要なし。 →openは基本的に全部相対パスでOK。 (但し、storeGlabalはhref属性の絶対パス検証とかには使えると思う)
簡単な手順。
(1)DLする
(2)zipの中にあるselenium-server.jarを展開
(3)展開してできたselenium-server/core/scripts/配下のuser-extensions.jsをいじる
(4)RCを起動するのはjarを展開してできたselenium-server/配下
バッチファイル。.batの書式がイマイチよくわからんけど、linuxでシェルならもっと簡単&複雑なこともいろいろやれそう♪
selenium-test-exec.bat
set SELRC_DIR="C:\work\selenium-server" set BROWSER="*iexplore" set TESTDOMAIN="http://192.168.0.99:8080" set TESTSUITE="C:\workspace\all-in-one-eclipse\SeleniumTest\testhtml-it\ 01_Login_Test\01_Login_TestSuite.html" set TESTRESULT="C:\tmp\results.html" set TIMEOUT=30 cd %SELRC_DIR% java -cp . org.openqa.selenium.server.SeleniumServer -htmlSuite %BROWSER% %TESTDOMAIN% %TESTSUITE% %TESTRESULT% -timeout %TIMEOUT% (はみ出ちゃうので改行してます)
その他気づいたことなど
- firefoxだと起動しない!?→フォーラムにも関連スレあるっぽい。後で見る。
- テストケースはTestSuiteと同じフォルダに置かないとNGになる。1つ上の階層においてあるテストケース(他のTestSuiteと共用してた)は404になってしまう。
- 一度RC起動しちゃうと(特に上記の方法だと)自動で全テストケースを流しちゃう。手動でやりたい場合の方法は?
Seleniumの手順書に書かなかったのはマズイかなぁ。。ま、次版に載せるってことでw