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