JenkinsでNightwatchテストを実行する
この記事では、JenkinsでNightwatchテストを作成して実行する方法を学びます。
概要
Jenkinsは、継続的インテグレーションのための業界標準として長年利用されています。Jenkinsを使用すると、同じインスタンスや、BrowserStackなどのクラウドサービスプロバイダーでテストを実行できます。また、テストの実行後に結果を確認することもできます。
前提条件
- Jenkinsインスタンスがインストールされていること
- GitにアップロードされたNightwatchテスト
Jenkinsインスタンスで実行
手順
1.「フリースタイルプロジェクト」を選択し、プロジェクトに応じてプロジェクトに名前を付けます。
2.ソースコード管理を設定して、gitリポジトリからテストをフェッチし、最新のテストバージョンを取得します。
gitブランチが正しく記述されていることを確認してください。「設定->一般」でソースコード管理の設定を確認できます。
3.ダッシュボード -> Jenkinsの管理 -> プラグインマネージャー
に移動し、NodeJS Plugin
を検索してインストールすることにより、Nodeプラグインをセットアップします。
Jenkinsは、空白のシェルインスタンスでパイプラインを実行します。npm
コマンドを使用するには、NodeJSプラグインをインストールする必要があります。
4.ビルド環境
でNode JSオプションを選択して、NodeJSプラグインを使用するようにパイプラインを設定します。
5.次のコマンドとともに、Execute shell
ビルドステップを追加します。
npm install
npm test
これでビルドをトリガーする準備ができました。このジョブをビルドすると、Jenkinsインスタンスでテストが実行されていることがわかります。
Jenkinsからクラウドサービスプロバイダーで実行する
BrowserStackで実行する
JenkinsからBrowserStackでテストを実行するには、「Jenkinsの管理->システムの設定->環境変数」に移動して環境変数を設定します。
次の2つの環境変数を設定します
BROWSERSTACK_USERNAME
BROWSERSTACK_ACCESS_KEY
セットアップは完了です。ビルドステップでテスト実行シェルコマンドを更新することにより、テストを実行できます。
npm test -- --env browserstack
ビルドすると、テストがBrowserStackで実行されます。
JUnit XMLレポートを表示する
Nightwatchは、テスト実行後にXMLレポートを発行します。これは、Jenkinsでテストレポートを公開するために使用できます。
1.Junit Jenkins Pluginがインストールされていることを確認してください
2.XMLレポートを公開するためのビルド後のアクションを追加します。Nightwatchはデフォルトでthe tests_output
フォルダーを使用してレポートを書き込みます。
3.テストを実行して、JenkinsでJUnitレポートを確認します。
HTMLレポートを表示する
Nightwatchは、Jenkinsに公開できるHTMLレポートも発行します。
1.HTML Jenkinsプラグインをインストールしていることを確認してください。
2.Nightwatchはデフォルトで、Jenkinsがレポートを公開するために使用するHTMLレポートをtests_output/nightwatch-html-report/
に書き込みます。
3.テストを実行して、ステータス -> HTMLレポート
でHTMLレポートを確認します。