0.環境
・親ノード端末
[CentOS] 5.6 (32bit版カーネル)
[ruby] 2.1.1p76
[rvm] 1.25.25
[java] 1.7.0_51
・子ノード端末
[Windows] Vista Home Premium (32bit)
[java] 1.7.0_51
[IE] 8
1.準備
■ 目的
ブラウザテストの自動化に興味があり、面白そうな記事があったので自分でも試してみました。
(Jenkinsとの連携は今回やっていません)
■ 親ノード
親ノード端末の適当なディレクトリに Selenium Server をダウンロード後、起動します。
# cd /usr/local/bin/ # wget http://selenium-release.storage.googleapis.com/2.41/selenium-server-standalone-2.41.0.jar # java -jar selenium-server-standalone-2.41.0.jar -role hub
■ 子ノード
子ノード端末の適当なフォルダに Selenium Server とIEドライバーをダウンロード後、起動します。
まず”Selenium Server (formerly the Selenium RC Server)” をダウンロード。
次に”The Internet Explorer Driver Server” をダウンロードします。
(アーキテクチャによって32bitまたは64bitを選択)
コマンドプロンプトを開いて、ダウンロードしたフォルダに移動し Selenium Server を起動。
(192.168.130.130 は自分の環境の親ノードIPに読み替えて下さい)
> cd C:\apps\selenium > java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://192.168.130.130:4444/grid/register -Dwebdriver.ie.driver=./IEDriverServer.exe
IEドライバーを起動するには、IEの[ツール]-[インターネットオプション]-[セキュリティ]で全てのゾーンの「保護モード」を同じにしておく必要があります。
2.IE起動
親ノード端末に置いたプログラムから、子ノード端末のIEを起動します。
親ノード端末の適当なディレクトリに下記スクリプトを配置。
(192.168.130.130 は自分の環境の親ノードIPに読み替え)
スクリプト内で selenium-webdriver を使っているので、予めインストールしておきます。
(適当なディレクトリへ移動し、依存関係を気にしたくないのでbundleを使ってインストール)
# bundle init # echo "gem 'selenium-webdriver'" >> Gemfile # bundle install
プログラムを実行し、子ノード端末でIEが起動すれば成功です。
# ruby /app/seleniumtest/seleniumtest.rb