この記事では、JenkinsでNightwatchテストを作成して実行する方法を学びます。

概要

Jenkinsは、継続的インテグレーションのための業界標準として長年利用されています。Jenkinsを使用すると、同じインスタンスや、BrowserStackなどのクラウドサービスプロバイダーでテストを実行できます。また、テストの実行後に結果を確認することもできます。

前提条件

  1. Jenkinsインスタンスがインストールされていること
  2. GitにアップロードされたNightwatchテスト

Jenkinsインスタンスで実行

手順

1.「フリースタイルプロジェクト」を選択し、プロジェクトに応じてプロジェクトに名前を付けます。

Jenkins project setup

2.ソースコード管理を設定して、gitリポジトリからテストをフェッチし、最新のテストバージョンを取得します。

gitブランチが正しく記述されていることを確認してください。「設定->一般」でソースコード管理の設定を確認できます。

Jenkins GIT repository setup


3.ダッシュボード -> Jenkinsの管理 -> プラグインマネージャーに移動し、NodeJS Pluginを検索してインストールすることにより、Nodeプラグインをセットアップします。

Jenkinsは、空白のシェルインスタンスでパイプラインを実行します。npmコマンドを使用するには、NodeJSプラグインをインストールする必要があります。

Jenkins NodeJS Plugin


4.ビルド環境でNode JSオプションを選択して、NodeJSプラグインを使用するようにパイプラインを設定します。

Jenkins NodeJS Plugin


5.次のコマンドとともに、Execute shellビルドステップを追加します。

npm install
npm test

Jenkins Nightwatch Execute Tests

これでビルドをトリガーする準備ができました。このジョブをビルドすると、Jenkinsインスタンスでテストが実行されていることがわかります。

Jenkinsからクラウドサービスプロバイダーで実行する

BrowserStackで実行する

JenkinsからBrowserStackでテストを実行するには、「Jenkinsの管理->システムの設定->環境変数」に移動して環境変数を設定します。

次の2つの環境変数を設定します


BROWSERSTACK_USERNAME
BROWSERSTACK_ACCESS_KEY

Jenkins BrowserStack

セットアップは完了です。ビルドステップでテスト実行シェルコマンドを更新することにより、テストを実行できます。

npm test -- --env browserstack

ビルドすると、テストがBrowserStackで実行されます。

JUnit XMLレポートを表示する

Nightwatchは、テスト実行後にXMLレポートを発行します。これは、Jenkinsでテストレポートを公開するために使用できます。

1.Junit Jenkins Pluginがインストールされていることを確認してください

2.XMLレポートを公開するためのビルド後のアクションを追加します。Nightwatchはデフォルトでthe tests_outputフォルダーを使用してレポートを書き込みます。

Jenkins JUnit Report Setup

3.テストを実行して、JenkinsでJUnitレポートを確認します。

Jenkins JUnit Report

HTMLレポートを表示する

Nightwatchは、Jenkinsに公開できるHTMLレポートも発行します。

1.HTML Jenkinsプラグインをインストールしていることを確認してください。

2.Nightwatchはデフォルトで、Jenkinsがレポートを公開するために使用するHTMLレポートをtests_output/nightwatch-html-report/に書き込みます。

Jenkins HTML reporter setup

3.テストを実行して、ステータス -> HTMLレポートでHTMLレポートを確認します。

Jenkins HTML report