Bamboo で Nightwatch テストを実行する
概要
Bamboo は Atlassian が開発した継続的インテグレーションサーバーであり、Web アプリケーションのビルド、テスト、デプロイを可能にします。
前提条件
テスト対象の動作するプロジェクトが Github にプッシュされていること、そしてテストがローカルシステムで正しく実行されていることを前提としています。
Java とデータベース(例:PostgreSQL、MySQL など)がインストールされている必要があります。サポートされているバージョンについては、ガイドを参照してください。
設定ガイド
ここでは例として nightwatch-examples リポジトリを使用します。それでは、以下の手順に従って CI を設定しましょう。
ステップ1:Bamboo のインストールと設定
インストール手順を完了するには、データベースを設定する必要があります。チュートリアルに従って設定できます。
また、この記事もリモートエージェントの開始に役立ちます。
インストールが完了したら、ガイドに従ってセットアップウィザードを実行してください。
ステップ2:サインインとプランの作成
インストール後、管理者としてサインインし、以下の画像に表示されているボタンをクリックしてプランを作成できます。

要求された情報を入力して、詳細を保存します。
以下のフォームに情報を入力してリポジトリをプロジェクトにリンクし、保存して続行します。
次に、エージェント環境を選択します。
ステップ3:タスクの作成
タスクを作成します。ソースコードのチェックアウトタスクは、このケースではデフォルトになります。新しいタスクを追加するには、「タスクの追加」ボタンをクリックします。
検索して npm タスクタイプを選択します。
すべての依存関係をインストールするには、コマンド入力ボックスに「
install
」と入力し、Node.js 実行可能ファイル(カスタムまたはデフォルト)を選択します。注:これらのコマンドを実行中にデフォルトの Node.js 実行可能ファイルでエラーが発生した場合は、Node.js をインストールし、node コマンドを使用するパスを取得するために、node バージョンマネージャーを使用してみてください。
次に、以下の画像のように、新しい実行可能ファイルを追加します。
テストケースを実行するには、別の **npm** タスクタイプを追加し、コマンド入力ボックスに **test** と入力します。
しかし、ヘッドレスモードでテストを実行したい場合、またはより多くの引数を渡したい場合は、**npm** の代わりに **script** タスクタイプを使用できます。
npm install npx npx nightwatch --headless
最後に、「作成」ボタンをクリックして、タスクを実行してみてください。