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');
})