1. はじめに
今回は、Selenium2を利用して作成した自動テストをフル活用すべく、JenkinsというCI(継続的インテグレーション)ツールを利用して、Selenium2のテストを自動実行する方法について説明します。また、IE、Firefox、Chrome、Safariなど多様化するブラウジング環境でのテスト方法やテストの並列化についても説明します。
2. Jenkinsとは
Jenkinsは、CI(継続的インテグレーション)ツールです。
「継続的インテグレーション」とはアジャイル開発のプラクティスの一つで、常にビルドやテストを繰り返し自動実行し、開発者にフィードバックすることにより、問題の早期発見を可能にします。
このように、問題を早期に検知できる仕組みの存在によって、開発者は安心して開発に集中することができます。
2.1. CIツールを使うメリット
CIツールを導入するメリットは、下記のとおりです。
2.1.1. 手順誤りを回避
ビルドやテストなどの自動化によって、素早く、確実に同じ手順で実行できるため、手順誤りや設定誤りなどの手戻りがなくなります。なにより属人化を避け、ビルドやテストなどの実行も、誰にでも簡単に行えるようになります。
2.1.2. 誤りの早期発見
修正に伴う予期せぬ不具合やデグレードといった問題が発生する場合もありますが、定期的にビルドやテスト実行することにより、問題の早期発見が可能です。また、原因となった修正の特定も容易になります。
2.1.3. 品質の見える化
ビルドやテストの実行結果やコードチェックツールなどの品質分析結果を共有し、品質の見える化を進めます。
CIツールの中でもJenkinsは非常に優れたツールであり、「数分で導入できる」「プラグインが豊富」といった特徴があります。
3. 何をするのか
今回は、このJenkinsとSelenium2を利用して、下記の作業を行います。
- ソースコードをSCM(ソースコード管理システム)よりチェックアウトする
- ソースコードをビルドしwarファイルを作成する
- Tomcatに作成したwarファイルをデプロイする
- Selenium2でテストを実行する
さらに本記事の後半で、Selenium2のテストを複数環境で実行する。テスト実行を並列化するという拡張を行います。
4. 実行環境
テスト環境としては、下記の実行環境を前提に説明させていただきます。
- Java(JDK 7)
- Subversion(なくても可)
- Firefox 24
- Tomcat 7.0
- Selenium 2.35.0
- Jenkins 1.5
Java、Subversion、Firefoxについてはインストールされている前提で説明します。
JDKのインストールディレクトリを指定するための環境変数、JAVA_HOMEが設定されていることを確認してください。
後半の複数ブラウザ環境でのテスト実行については、別途、実行環境を説明します。