JSON レポーター
インストール
npm install @wdio/json-reporter --save-dev
設定
標準出力への結果出力
reporters: [
    'dot',
    ['json', { stdout: true }]
],
ファイルへの結果出力
reporters: [
    'dot',
    ['json',{
        outputDir: './results'
    }]
],
カスタムファイル名でのファイルへの結果出力
reporters: [
    'dot',
    ['json',{
        outputDir: './results',
        outputFileFormat: (opts) => {
            return `results-${opts.cid}.${opts.capabilities.browserName}.json`
        }
    }]
],
結果ファイル
WDIO v5以降では、レポートは集中型プロセスから、並列テスト実行のために起動された各「セッション」によって処理されるプロセスに移行しました。この変更により、WDIOテスト実行中のチャタリング量が削減され、パフォーマンスが向上しました。欠点は、すべてのテスト実行に対して単一のレポートを取得できなくなったことです。
@wdio/json-reporterは、複数のJSONファイルを単一のファイルにマージするためのユーティリティ関数を提供します。このユーティリティを利用するには、以下の手順に従ってください。
wdio.conf.jsのonCompleteでこれを実行できます。
// wdio.conf.js
import mergeResults from '@wdio/json-reporter/mergeResults'
export const config = {
    // ...
    onComplete: function (exitCode, config, capabilities, results) {
        mergeResults('./results', 'wdio-.*-json-reporter.json', 'wdio-custom-filename.json')
    }
    // ...
}
注: wdio-custom-filename.json はオプションです。パラメータが指定されていない場合、デフォルト値は wdio-merged.json です。
貢献
このレポーターのソースコードは、Jim Davis氏によるコミュニティレポーターwdio-json-reporterに大きく影響を受けています。プロジェクトのメンテナンスに尽力していただき、ありがとうございます。
WebdriverIOの詳細については、ホームページをご覧ください。