Seleniumが便利で死にそう
Selenium便利ですねぇ。
回帰テストなんて拷問を勝手にやってくれるなんてステキすぎる。
先日、デグレードを発生させてしまいまして(涙。その結果、ユーザーから「きちんと回帰テストをやるように!」と熱い要望が届きまして。偉い人経由で。えぇ、えぇ。
どうしてもテストをやらなきゃダメだってんで、テストの自動化アプリのSeleniumを導入。使ってみたらとても便利でした。
導入までに苦労したこと
全然動かないんだもの、最初*1。
実行すれば「書き込めません」って何度も言われる。ログもまともに出ない。
肝心要のSnapIE*2が動かない。テスト結果を画面イメージで残さなければいけないのに。単体なら動くのにSeleniumからはうまく動かない。
んで、色々試してなんとか動くようにしました。
- SeleniumRCの導入は諦めた。
- SnapIEの導入も諦めた。スクリーンショットを自動で取ること自体諦めた。
- 実行したらすぐwindowMaximizeを呼ぶようにテスト組んで、
- スクリーンショットを撮るときは、都度assertEvalでconfirm()を呼んでテストを中断
- alert()も無効になっちゃうから、スクリーンショットが欲しいときはgetEvalで呼んでごまかす
- showModalDialog()で呼び出した画面が変になるので、そこだけは手動になるように Selenium のコードを書きかえる
全自動というより半自動で頑張ってます。
それでもずいぶんテストは楽になりましたよ!
勝手にやってくれるから、実行中に人間様はインターネット見放題(ry
参考になったサイト
Seleniumに関しては公式とかここを見たらいいと思います。
導入できたらリファレンスのWikiサイトをみながらテストを書き続けるのみ!