Allureレポーター
WebdriverIOのレポータープラグインで、Allureテストレポートを作成します。

インストール
最も簡単な方法は、package.jsonに@wdio/allure-reporterをdevDependencyとして含めることです。
{
  "devDependencies": {
    "@wdio/allure-reporter": "^7.0.0"
  }
}
以下のコマンドで簡単にインストールできます:
npm install @wdio/allure-reporter --save-dev
設定
wdio.conf.jsファイルで出力ディレクトリを構成します:
export const config = {
    // ...
    reporters: [['allure', {
        outputDir: 'allure-results',
        disableWebdriverStepsReporting: true,
        disableWebdriverScreenshotsReporting: true,
    }]],
    // ...
}
outputDirのデフォルトは./allure-resultsです。テスト実行が完了すると、このディレクトリには各スペックの.xmlファイルと、多数の.txtおよび.pngファイルやその他の添付ファイルが生成されます。disableWebdriverStepsReporting- オプションパラメータ(デフォルトはfalse)、カスタムステップのみをレポーターに記録するためのものです。issueLinkTemplate- オプションパラメータ、問題リンクのパターンを指定するためのものです。レポーターは{}プレースホルダーをaddIssue(value)呼び出しパラメータで指定された値に置き換えます。Cucumberを使用し、任意のレベルでissueタグが設定されている場合も同じロジックが適用され、レポート内のリンクに変換されます。パラメータ値の例:https://example.org/issue/{}tmsLinkTemplate- オプションパラメータ、TMS(テスト管理システム)リンクのパターンを指定するためのものです。レポーターは{}プレースホルダーをaddTestId(value)呼び出しパラメータで指定された値に置き換えます。Cucumberを使用し、任意のレベルでtestIdタグが設定されている場合も同じロジックが適用され、レポート内のリンクに変換されます。パラメータ値の例:https://example.org/tms/{}disableWebdriverScreenshotsReporting- オプションパラメータ(デフォルトはfalse)、スクリーンショットをレポーターに添付しないようにするためのものです。useCucumberStepReporter- オプションパラメータ(デフォルトはfalse)、cucumberを使用する際のレポート階層を変更するにはtrueに設定してください。自分で試してみて、どのように見えるか確認してください。disableMochaHooks- オプションパラメータ(デフォルトはfalse)、before/afterのスタックトレース/スクリーンショット/結果フックをAllureレポーターに取り込まないようにするにはtrueに設定してください。addConsoleLogs- オプションパラメータ(デフォルトはfalse)、ステップからのコンソールログをレポーターに添付するにはtrueに設定してください。reportedEnvironmentVars(型:Record<string, string>) - レポートに環境変数を表示するにはこのオプションを設定してください。これを設定しても、実際の環境変数は変更されません。
サポートされているAllure API
addLabel(name, value)- テストにカスタムラベルを割り当てるaddFeature(featureName)– テストに機能を割り当てるaddStory(storyName)– テストにユーザーストーリーを割り当てるaddSeverity(value)– テストに重要度を割り当てる、次の値のいずれかを受け入れます:blocker、critical、normal、minor、trivialaddTag(value)– テストにタグラベルを割り当てるaddEpic(value)– テストにエピックラベルを割り当てるaddOwner(value)– テストにオーナーラベルを割り当てるaddSuite(value)– テストにスイートラベルを割り当てるaddSubSuite(value)– テストにサブスイートラベルを割り当てるaddParentSuite(value)– テストに親スイートラベルを割り当てるaddIssue(value)– テストに問題IDを割り当てるaddAllureId(value)– テストにAllureテストオプスIDラベルを割り当てるaddTestId(value)– テストにTMSテストIDを割り当てる- ~~
addEnvironment(name, value)~~ – もう機能しない非推奨の関数です。代わりにreportedEnvironmentVarsを使用してください addAttachment(name, content, [type])– テストに添付ファイルを保存する。name(String) - 添付ファイル名。content– 添付ファイルの内容。type(String, オプション) – 添付ファイルのMIMEタイプ、デフォルトはtext/plain
addArgument(name, value)- テストに追加の引数を追加するaddDescription(description, [type])– テストに説明を追加する。description(String) - テストの説明。type(String, オプション) – 説明のタイプ、デフォルトはtext。値は['text', 'html', 'markdown']
addStep(title, [{content, name = 'attachment'}], [status])- テストにステップを追加する。title(String) - ステップの名前。content(String, オプション) - ステップの添付ファイルname(String, オプション) - ステップ添付ファイル名、デフォルトはattachment。status(String, オプション) - ステップのステータス、デフォルトはpassed。"failed"、"passed"または"broken"である必要があります
startStep(title)- ステップを開始するtitle(String) - ステップの名前。
endStep(status)- ステップを終了するstatus(String, オプション) - ステップのステータス、デフォルトはpassed。"failed"、"passed"または"broken"である必要があります
step(name, body)- 内部にコンテンツ関数を持つステップを開始する。無限の階層でステップを作成できますbody(Function) - ステップ本体の非同期関数
使用法
Allure APIには以下の方法でアクセスできます:
CJS
const allureReporter = require('@wdio/allure-reporter').default
ESM
import allureReporter from '@wdio/allure-reporter'
Mochaの例
describe('Suite', () => {
    it('Case', () => {
        allureReporter.addFeature('Feature')
    })
})
Cucumber
基本的なCucumberの例:
Given('I include feature and story name', () => {
    allureReporter.addFeature('Feature_name');
    allureReporter.addStory('Story_name');
})