Selenium 2をセットアップしSubversion - Jenkinsと連携させて自動テストさせてみる
Selenium2をセットアップし、Selenium IDEで作成したテストスクリプトを
Jenkinsと連携し、自動テストするための設定手順をまとめてみる。
なお、Selenium IDEを使ったテストスクリプトの作成方法の詳細については本記事では述べない。
[環境]
Cent OS6.5
セットアップ手順
- Firefoxをインストールする
- Firefoxで以下のSeleniumダウンロードページにアクセスしSelenium IDEをインストールhttp://docs.seleniumhq.org/download/2.5.0 をクリックし、インストール
- Firefox上で Selenium IDEを起動し適当なテストスクリプト作成し、JUnit形式でエクスポートしておく
- ダウンロードページからJava用のSelenium Client & WebDriverをインストール
- ダウンロードページからInternet Explorer Driver Server 32bit版をダウンロード(2013年10月現在、64bit版だと文字入力が異常に遅くなるらしい)
- ダウンロードページからSelenium Serverをダウンロード
- 上記でダウンロードしたjarをサーバに配置し、以下のコマンドでseleniumサーバ起動
[jenkins@localhost jenkins-1.542-0]$ java -jar /u01/jenkins/selenium/selenium-server-standalone-2.39.0.jar
- Eclipseで上で作成しエクスポートしておいたJUnitファイルをJavaプロジェクトに取り込む。また、selenium-server-standalone jarファイルをパスに取り込んでおく。
- AllTests.javaというテストスイートを作成する。Eclipseで自動生成可能。
- antビルドファイルを生成する。プロジェクト上で右クリック > エクスポート
- antビルドファイルを選択し、次へ
- SeleniumSampleプロジェクトにチェックを入れ、完了
- 生成されたbuild.xmlを確認する。AllTestsとjunitreportをbuildというtargetのdependsに追加する。
- ソースをSubversionにコミット
- 以下、JDKをインストールする。http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html から jdk-7u51-linux-x64.tar.gz をダウンロード
- ダウンロードしたjdk-7u51-linux-x64.tar.gzを解凍
[jenkins@localhost jdk]$ pwd /u01/jenkins/jdk [jenkins@localhost jdk]$ tar zxvf jdk-7u51-linux-x64.gz [jenkins@localhost jdk]$ ls -l 合計 134968 -rw-r--r--. 1 jenkins jenkins 138199690 1月 28 14:42 2014 jdk-7u51-linux-x64.gz drwxr-xr-x. 8 jenkins jenkins 4096 12月 19 12:24 2013 jdk1.7.0_51
- 以下、antインストール設定をする。http://ant.apache.org/ から apache-ant-1.9.3-bin.tar.gz をダウンロード
- ダウンロードしたapache-ant-1.9.3-bin.tar.gzを解凍
[jenkins@localhost ant]$ pwd /u01/jenkins/ant [jenkins@localhost ant]$ tar zxvf apache-ant-1.9.3-bin.tar.gz [jenkins@localhost ant]$ ls -l 合計 5404 drwxr-xr-x. 6 jenkins jenkins 4096 12月 23 23:52 2013 apache-ant-1.9.3 -rw-r--r--. 1 jenkins jenkins 5529017 1月 28 14:16 2014 apache-ant-1.9.3-bin.tar.gz
- Jenkinsの管理 > システムの設定 からJDKの設定をする。JAVA_HOMEを指定する。
- Jenkinsの管理 > システムの設定 からAntの設定をする。ANT_HOMEを展開先のディレクトリ指定。
- Jenkinsで新規ジョブを作成し、Subversionリポジトリを設定する。その際、認証に失敗するので、指示にしたがってSubversionのユーザ名/パスワードを入力する。
- ビルドはAntの呼び出しを選び、上で設定したantを選択する
- ビルド実行。※ここでビルドは成功したが、AllTestsで以下のようなエラーになった。ディスプレイ処理のためXサーバの設定がいるっぽい
[junit] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: [junit] Error: no display specified
- 仮想ディスプレイXvfbをセットアップする。以下をインストール・アップデート
# yum -y install xorg-x11-server-Xvfb # yum -y install firefox # yum -y groupinstall "X Window System"
- Xvfbを99番ディスプレイで起動
[jenkins@localhost ~]$ Xvfb :99 -ac -screen 0 1024x768x8 &
- Jenkinsビルド内でDISPLAY変数を:99にセットする必要がある。Jenkinsの管理 > システムの設定を開き、グローバル プロパティの環境変数に
キー: DISPLAY, 値: :99 を追加
起動手順
起動方法をまとめておく。
Xvfb起動
[jenkins@localhost ~]$ Xvfb :99 -ac -screen 0 1024x768x8 &
selenium server起動
[jenkins@localhost ~]$ java -jar /u01/jenkins/selenium/selenium-server-standalone-2.39.0.jar