メインコンテンツにスキップ

再実行サービス

wdio-rerun-serviceはサードパーティのパッケージです。詳細についてはGitHub | npmをご覧ください

wdio-rerun-service CI npm npm bundle size GitHub issues

このサービスはWebdriverIOテストフレームワーク内で実行される失敗したMochaやJasmineのテスト、およびCucumberシナリオを追跡します。失敗または不安定なテストやシナリオを再実行することができます。

注意: WebdriverIOバージョン5.x6.xを実行しているCucumberフレームワークユーザーは、バージョン1.6.xを使用してください。最新のメジャーバージョン7.xを使用している場合は、このサービスの最新の1.7.xバージョンを使用してください。

再実行 vs. リトライ

WebdriverIOに組み込まれているCucumberとMocha/Jasmineのretryロジックは、CucumberとMocha/Jasmineの不安定なステップを処理するのに役立ちます。各フレームワークでのリトライには注意点があります:

  • Cucumber: テストの途中でいくつかのステップが再試行できない可能性を考慮していません。ステップを2回実行すると、残りのシナリオが壊れたり、テストコンテキストでは不可能かもしれません。
  • Mocha/Jasmine: retryロジックは個々のテストに適用できますが、これはリアルタイムで行われ、一時的な問題やネットワーク接続の問題を考慮していない可能性があります。

re-runの主な特徴:

  • 単一のステップだけでなく、Cucumberシナリオ全体を再実行します
  • メインのテスト実行完了後に仕様ファイル全体を再実行できるようにします
  • ローカルでコピーして実行することができます(retryはできません)
  • retryメソッドと併用することも可能です
  • 不安定または問題のあるテストにretryロジックを適用するためのコード変更は必要ありません

利用可能なオプションを評価する時間を取ることをお勧めします。最も実用的で行動可能なテスト結果を提供するには、ハイブリッドソリューションが最適かもしれません。

インストール

最も簡単な方法は、package.jsondevDependencieswdio-rerun-serviceを追加することです。

{
"devDependencies": {
"wdio-rerun-service": "^1.6.2"
}
}

npmを使ってインストールすることができます:

npm install wdio-rerun-service

パッケージのインストールが完了したら、wdio.conf.jsservices配列に追加します:

// wdio.conf.js
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [RerunService, {
// ...
}]
};

WebdriverIOのインストール方法についてはこちらをご覧ください。

設定

以下のオプションを wdio.conf.js ファイルに追加することができます。サービスのオプションを定義するには、以下のようにサービスをservicesリストに追加する必要があります:

// wdio.conf.js
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
// Re-run service options here...
}]
],
// ...
};

rerunDataDir

実行中にすべての再実行JSONデータが保存されるディレクトリ。

タイプ: String

デフォルト: ./results/rerun

例:

const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
rerunDataDir: './custom-rerun-directory'
}]
],
// ...
}

rerunScriptPath

再実行Bashスクリプトを書き込むパス。

タイプ: String

デフォルト: ./rerun.sh

例:

const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
rerunScriptPath: './custom-path-for-rerun.sh'
}]
],
// ...
}

ignoredTags

(Cucumberのみ) 除外するCucumberタグのセット。シナリオにタグが含まれている場合、再実行サービスは分析をスキップします。

タイプ: Array

デフォルト: []

例:

const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
ignoredTags: ['@known_bug']
}]
],
// ...
}

commandPrefix

生成される再実行コマンドに追加されるプレフィックス。

タイプ: String

デフォルト: ''

例:

const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
commandPrefix: "VARIABLE=true"
}]
],
// ...
}

Welcome! How can I help?

WebdriverIO AI Copilot