概要

JSON レポーターは、HTML と XML レポーターと共に Nightwatch のデフォルトレポーターの1つです。テスト結果を JSON 形式で出力し、他のツールでレポートを視覚化するために使用できます。

設定

JSON レポーターは、バージョン 2.2 以降、デフォルトで有効になっており、その動作は次のように設定できます。

設定ファイルによる設定

output_folder 設定は、JSON レポートファイルが保存される場所を指定するために使用されます。Nightwatch は、nightwatch-examples というサブフォルダ内に、各テストスイートファイルの JSON レポートを書き込みます。

nightwatch/.../lib/settings/defaults.js
module.exports = { output_folder: 'tests_output' }

テスト出力関連の設定の完全なリストについては、「設定 > 出力設定」ページを参照してください。

CLI による設定

--output フラグを使用して、CLI で実行時に出力フォルダを設定することもできます。

javascript
module.exports = { 
    output_folder: 'tests_output' 
}
nightwatch --output ./tests-output

Nightwatch が受け入れる CLI フラグの完全なリストについては、「CLI リファレンスページ」を参照してください。

JSON ファイル名は、次のパターンに従います。

<BROWSER>_<VERSION>__<testSuiteFileName>.json

ステップ 0:Nightwatch のインストール

Nightwatch を最初からインストールするには、「ガイド」に従うか、「ビデオ」をご覧ください。

ステップ 1:サンプルテストの実行

duckDuckGo.js サンプルテストを考えてみましょう。

describe('duckduckgo example', function() {
  it('Search Nightwatch.js and check results', function(browser) {
    browser
      .navigateTo('https://duckduckgo.com')
      .waitForElementVisible('#search_form_input_homepage')
      .sendKeys('#search_form_input_homepage', ['Nightwatch.js'])
      .click('#search_button_homepage')
      .assert.visible('.results--main')
      .assert.textContains('.results--main', 'Nightwatch.js');
  }); 
});

このテストは、次のコマンドを使用して実行できます。

npx nightwatch examples/tests/duckDuckGo.js --env chrome 

組み込みの JSON レポートのみを生成するには、次のコマンドを実行します。

npx nightwatch examples/tests/duckDuckGo.js --env chrome --reporter=json 

注記:もし output_folder のサブフォルダ nightwatch-examples がまだ存在せず、上記のようにパラメータ --reporter=json を明示的に指定した場合、レポートは output_folder 自体に保存されます。

組み込みの JUnit-XML レポートと JSON レポートの両方を生成するには、次のコマンドを実行します(v2.2 以上)。

npx nightwatch examples/tests/duckDuckGo.js --env chrome --reporter=junit --reporter=json 

ステップ 2:JSON レポートの表示

JSON レポートは、現在のプロジェクトディレクトリ内のローカルの tests_output フォルダに生成されているはずです。次のような表示になります。