概要
JenkinsでSeleniumのテストを自動実行できるようする
Jenkinsで行うということで画面が無いことからJenkinsサーバに仮想ディスプレイ(Xvfb)を入れてテストを行うことになる
JenkinsやSelenium単体についてどういったものかはそれぞれ以下にまとめてあるので参考にしてほしい
Jenkinsサーバセットアップ
セットアップ環境
$ cat /etc/redhat-release CentOS release 6.8 (Final)
jenkinsインストール
// Jenkins を動かすためには、Java 6 以上があらかじめインストールされている必要がある $ sudo yum install -y wget java // yum リポジトリの追加 // CentOS / RedHat のパッケージ管理機能 yum を利用して Jenkins をインストールする // 公式に yum リポジトリを提供してくれていますので、そのリポジトリを利用します $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo $ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key // リポジトリの追加ができたら、yumでインストール $ sudo yum install -y jenkins // Jnekinsの起動 $ sudo service jenkins start Starting Jenkins
以下のURLにアクセスするとJenkinの画面が見れる
http://(Jenkinsを導入したホスト名):8080/
パスワードを聞かれた場合
ユーザ:admin パスワード:以下のコマンドで確認 $ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Seleniumを使うための準備
まずはXvfbをインストール
FirefoxをGUI環境がないサーバーでも起動させるための仮想フレームバッファであるXvfbをインストール $ sudo yum -y install xorg-x11-server-Xvfb
そのあとにJenkins画面とっぷから
「Jenkinsの管理」→「プラグイン管理」で「Xvfb plugin」をインストールする
Xvfb pluginの設定をするために「Jenkinsの管理」→「Global Tool Configuration」
- 「Name」→ DefaultXvfb(なんでもいい)
- 他は空欄
次に今回はFirefoxのブラウザを使ってテストを行うのでFirefoxをインストールする
$ sudo yum -y install firefox
phpを入れる
$ sudo yum install -y epel-release $ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm $ sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml $ sudo yum install -y ipa-pgothic-fonts.noarch
composerを使ってPHPUnitなどを入れるのでcomposerも入れる
$ sudo bash -c "curl -sS https://getcomposer.org/installer | php" $ sudo mv composer.phar /usr/local/bin/composer
Jenkinsのジョブを作成する
「新規ジョブ作成」から
以下の項目を入れるようにする
- Gitのソースコード → https://github.com/tomsato/selenium-test
- PHPUnitで書いたSeleniumテストのサンプルプログラムを書いている
- 「ビルド環境」で「Start Xvfb before the build, and shut it down after.」にチェックを入れる
- 「Delete workspace before build starts」にチェックを入れる
- 「ビルド環境」でシェルの実行を選択して以下のシェルを羅列していく <pre class="brush: bash; title: ; notranslate" title="">/usr/local/bin/composer install /usr/local/bin/composer selenium-setup /usr/local/bin/composer selenium-redy & sleep 3 /usr/local/bin/composer selenium-start
</pre>
- 「ビルド後の処理」で「成果物を保存を選択」保存するファイルを「*png」をする
- Seleniumテスト内で画面キャプチャをした時にJenkins上で確認できるようになる
ここまで設定してジョブを実行するとJenkins上でSeleniumが実行できる!!
補足:画面キャプチャを確認する
Seleniumのテストコードの中で画面キャプチャを取ることができる
日本語が文字化けしないように日本語フォントをインストールする
$ sudo yum groupinstall "Japanese Support"
ジョブの実行後成果物としてキャプチャが見れることを確認する
コメントを書く
コメント一覧