使えないと困る。
詳しく調べていないながら、どうも"Selenium RC"を使った方が良い様な気がしてきました。
IEでもSeleniumテストを実行したいので、Xを使う事は考えていません。本番に近い環境でアプリケーションを動かしたいので、OSXも諦めました。となれば、アプリケーション(とCC.rb)が動くサーバーと、Seleniumを叩くブラウザが動くホストは、別々にならざるを得ないと思います。
CC.rbのドキュメントに"Selenium on Rails"との連携方法が書いてあったので、出来ればこっちで解決したい(楽したい)のですが、出来るのでしょうか。
ひとまずは、"Selenium RC"の場合について考えてみました。
- CIサーバからCIクライアントでのSelenium Serverを起動を要請
-
CIサーバからSeleniumドライバを使って
- Seleniumサーバに接続
- ブラウザ起動
- テスト開始〜終了
- ブラウザ終了
- Seleniumサーバから切断
- Seleniumの結果を取得・収集してCC.rbに報告
- CIサーバからCIクライアントでのSelenium Serverを終了を要請
- CC.rbのダッシュボード(やランプ)で結果を(黙視)確認
"Selenium RC"についてうろ覚えなのであれですが、多分、上記の様になると思います。
Seleniumテストをドライバを使って制御するだけなら、"Selenium RC"を使える様にすればいいだけです。ただ、CI(CC.rb)が絡んでくるとよく分からない事になります。これからの調査・実験次第ではありますが。
"Selenium on Rails"と"Selenium RC"を組み合わせられたら解決する問題なのでしょうかね?
当面は、CC.rbの導入は先送りになりそうな気配です。


CIサーバとブラウザを別マシンで動作させる場合は仰る通り RC を使うのがよさそうですが、Selenium on Rails は Selenium Core ベースなので、RC と組み合わせるのは難しいです。また、Selenium on Rails は開発が止まってしまったという問題があります。Rails で RC を動かすのには、例えば seleniumrc_fu というプラグインがあります。
http://pivots.pivotallabs.com/users/kelly/blog/articles/397-happy-path-testing-with-selenium-rc-fu
なお、seleniumrc_fu は最近 Polonium という名前に変わったそうです。
あ、開発が停まってしまっているのですか。
seleniumrc_fu(Polonium)は、ちょっと調べてみます。
ありがとうございました。