Selenium利用手順書とSeleniumRC

利用手順書が一応完成。基本編(利用手順書)とTips、あと日本語リファレンスの3本立て。
バージョン0.6時代は合わせて1本だったんだけど、Tipsとか増えてきたので分割。
Selenium-RCについては後述。
あとは、生産性検証と、項目変換ツールかな。

  【PostgreSQLウォッチ】第27回 SQLインジェクション脆弱性を修正,日本語ユーザーに大きな影響

今回実施されたSQLインジェクションに関する脆弱性の修正はマルチバイト文字エンコーディングに関連してるとのこと。「実は今回対策した脆弱性の半分はSJISにまつわるものである。」

 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