次の方法で共有


Regression Suite Automation Tool のチュートリアル

メモ

インターネット ブラウザーのツールを使用して、このページを PDF 形式でダウンロードして保存します。

このチュートリアルでは、デモの割り当て、戦略と重要な学習ポイントの説明を含む Regression Suite Automation Tool (RSAT) の高度な機能をいくつかを説明します。

RSAT とタスク レコーダーの注目すべき機能

フィールド値を検証する

RSAT を使用すると、予測値を検証するためにテスト ケース内に検証ステップを含めることができます。 この機能の詳細については、予測値の検証 を参照してください。

次の例は、この機能を使用して、手持在庫が 0 (ゼロ) よりも大きいかどうかを検証する方法を示します。

  1. USMF 会社のデモデータで、次の手順を含むタスク記録を作成します。

    1. 製品管理情報 > 製品 > リリースされた製品の順に移動します。
    2. クイック フィルターを使用して、レコードを見つけます。 たとえば、1000 という値で品目番号フィールドをフィルター処理します。
    3. 手持在庫を選択します。
    4. クイック フィルターを使用して、レコードを見つけます。 たとえば、1 という値でサイト フィールドをフィルター処理します。
    5. 一覧で、選択された行をマークします。
    6. 引当可能合計数フィールドの値が、411.0000000000000000 であることを検証します。
  2. タスク記録を 開発者の記録 として保存し、Azure DevOps のテスト ケースに関連付けます。

  3. テスト ケースをテスト計画に追加し、テスト ケースを RSAT に読み込みます。

  4. Excel パラメータ ファイルを開き、TestCaseSteps タブに移動します。

  5. 常に 0 を超える在庫が存在するかどうかを検証するには、利用可能合計数の検証 ステップに移動し、その値を 411 から 0 に変更します。 演算子 フィールドの値を、等号 (=) から大なり記号 (>) に変更します。

  6. Excel パラメーター ファイルを保存して閉じます。

  7. アップロードを選択し、Excel パラメーター ファイルに加えた変更を Azure DevOps に保存します。

これで、指定した在庫品目の利用可能合計数フィールド値が0 ( ゼロ ) よりも大きい場合、実際の手持在庫値に関係なくテストが合格となります。

保存された変数とテスト ケースの連鎖

RSAT の主要な機能の 1 つとして、テスト ケースの連鎖、つまり、変数を他のテストに渡すテストの機能、があります。 詳細については、テスト ケースの連鎖への変数のコピー を参照してください。

派生テスト ケース

RSAT を使用すると、複数のテスト ケースで同じタスク レコードを使用して、タスクを異なるデータ構成で実行できます。 詳細については、派生テスト ケース を参照してください。

通知とメッセージの検証

この機能は、アクションが実行されたかどうかを検証するために使用できます。 たとえば、製造オーダーが作成、見積り、開始された時に、アプリは製造オーダーが開始されたことを通知する "生産 – 開始" メッセージを表示します。

生産 – 開始通知。

RSAT を使用してこのメッセージを検証するには、該当する記録の Excel パラメーター ファイルにあるメッセージ検証タブにメッセージ テキストを入力します。

メッセージ検証タブ。

テスト ケースを実行すると、Excel パラメーター ファイル内のメッセージが、表示されるメッセージと比較されます。 メッセージが一致しない場合、テストケースは失敗します。

ノート

Excel パラメーター ファイルのメッセージ検証タブには、複数のメッセージを入力できます。 メッセージは、情報を含むメッセージではなく、エラーまたは警告メッセージである場合もあります。

スナップショット

この機能は、タスク記録中に実行された手順のスクリーンショットを撮ります。 これは、監査やデバッグに役立ちます。

  • ユーザー インターフェイスを使用して RSAT を実行しているときにこの機能を使用するには、RSAT のインストール ホルダー (例: C:\Program Files (x86)\Regression Suite Automation Tool) にある Microsoft.Dynamics.RegressionSuite.WindowsApp.exe.config ファイルを開き、次の要素の値を false から true に変更します。

    <add key="VerboseSnapshotsEnabled" value="false" />
    
  • CLI (例: Azure DevOps) で RSAT を実行しているときにこの機能を使用するには、RSAT のインストール ホルダー (例: C:\Program Files (x86)\Regression Suite Automation Tool) にある Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe.config ファイルを開き、次の要素の値を false から true に変更します。

    <add key="VerboseSnapshotsEnabled" value="false" />
    

テスト ケースを実行すると、RSAT は、ステップのスナップショット (画像) を生成し、作業ディレクトリ内のテスト ケースの再生フォルダーに保存します。 再生フォルダーには、StepSnapshots という別のサブフォルダーが作成されます。 そのフォルダーには、実行されたテスト ケースのスナップショットが格納されます。

割り当て

シナリオ

  1. 製品デザイナーが新しくリリースされた製品を作成します。
  2. 生産マネージャは、在庫レベルを 2 個にするために製造オーダーを開始します。
  3. 製造は、製造オーダーを開始および終了し、手持在庫数量が 2 個であることを確認します。
  4. 販売チームは、新しい製品 4 個 の注文を受けます。 したがって、販売チームは動的計画を使って正味必要量を更新します。 追加の利用可能容量がないので、既定の注文ポリシーは "作成ではなく購入" に設定されます。したがって、計画発注書が作成されます。
  5. 購入者は、仕入先を追加し、計画発注書を確定してから、発注書を確認します。
  6. 購入した商品が店舗に到着すると、店舗オペレーターが関連する発注書を検索して商品を受け取ります。 注文が完了したため、販売注文に対して商品をピッキングおよび梱包することができます。
  7. 財務は、仕入請求書および売上請求書に転記します。

次の図は、このシナリオのフローを示しています。

デモ シナリオのフロー。

次の図は、LCS ビジネス プロセス モデラーでのこのシナリオの業務プロセスの階層を示しています。

デモ シナリオの業務プロセス。

戦略 – キー学習

データ

  • 代表的なデータボリューム (生産のコピー/高品質の構成データと移行されたデータ) があることを確認してください。

  • タスク レコーダーを介して新しいデータを生成する場合は、既存の名前と競合しないテスト名 (例えば、RSATxxx などの接頭語を使用するなど) を作成します。

  • Azure ポイントインタイム復元を使用して、第 1 層環境以外でテストを再実行します。

  • Excel 関数の RANDOMNOW を使用して、独自の組み合わせを生成することはできますが、その作業量は大幅に多くなります。 次に例を示します。

    product = "AT" &TEXT(NOW(),"yyymmddhhmm")
    

タスク レコーダー

  • 記録を開始する前にシナリオを定義します。 適切に管理されたプロジェクトには、事前定義済みのテスト シナリオがあります。 テスト ケースを構築するには、それらのテスト シナリオの結果がどの程度予測可能かを考慮します。
  • 異なるロールによって実行される場合、待機時間がある場合、または次のステップの前に外部イベントがある場合に、記録を分割します。
  • リストから値を選択することは避けてください。 代わりに、FIFOAudioRMSiteWH などのテキスト形式を使用します。 リスト内で選択した場合は、値自体ではなく、リスト内の値の位置が記録されます。 このリストに品目を追加すると、値の位置が変わる場合があります。 したがって、記録では別のパラメーターが使用され、その他のシナリオが影響を受ける可能性があります。
  • マルチ ユーザーの動作について考えてみましょう。 たとえば、新しく作成された販売注文が常に自動的に選択されるとは限りません。 代わりに、常にフィルターを使用して正しい注文を見つけます。
  • 連鎖したテスト ケースで使用できるように、タスク レコーダーのコピー機能を使用して、新しく作成された製品の名前を保存します。
  • タスク レコーダーの検証機能を使用して、ステップが正常に実行されたことを確認するチェックポイントを設定します。

RSAT

  • 別の会社でテストを実行するには、Excel パラメーター ファイルの一般タブで会社を変更します。 設定およびデータが、新しく選択した会社で使用可能であることを確認してください。
  • テスト ユーザーは、Excel パラメーター ファイルの一般タブで変更できます。 テスト ケースを実行するユーザーのメール ID を指定します。 この方法で、指定したユーザーのセキュリティ アクセス許可を使用し、テスト ケースを実行できます。
  • テストが開始されるまで待機するには、Excel パラメーター ファイルの一般タブで一時停止を定義します。 この一時停止は、バッチ ジョブで使用できます (たとえば、次のステップを実行する前にワークフローを実行する必要がある場合など)。

高度なスクリプト

CLI

RSAT は、コマンド プロンプトまたは PowerShell ウィンドウから呼び出すことができます。

メモ

TestRoot 環境変数が RSAT インストール パスに設定されていることを確認します。 (Microsoft Windows のコントロール パネルを開き、システムとセキュリティ>システム>高度なシステム設定を選択し、環境変数を選択します。)

  1. コマンド プロンプトまたは PowerShell ウィンドウを管理者として開きます。

  2. RSAT インストール ディレクトリに移動します。

    cd "c:\Program Files (x86)\Regression Suite Automation Tool\"
    
  3. すべてのコマンドのリスト

    C:\Program Files (x86)\Regression Suite Automation Tool>Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe help
    
    Usage:
        Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe command
        or
        Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe /settings "C:\Path to\file.settings" command
    
    Available commands:
        ?
        about
        cls
        download
        downloadsuite
        edit
        generate
        generatederived
        generatetestonly
        generatetestsuite
        help
        list
        listtestplans
        listtestsuite
        listtestsuitebyid
        listtestsuitenames
        playback
        playbackbyid
        playbackmany
        playbacksuite
        playbacksuitebyid
        quit
        upload
        uploadrecording
        uploadsuite
        usage
    

?

すべてのコマンドを一覧表示するか、特定のコマンドのヘルプを使用可能なパラメーターと共に表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleApp?[command]

?: オプションのパラメーター

command: [command] は上記の一覧のコマンドの 1 つです。

情報:

インストールされている RSAT のバージョンを表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleAppabout

cls

画面をクリアします。

Microsoft.Dynamics.RegressionSuite.ConsoleAppcls

ダウンロード

指定したテスト ケースの添付ファイル (レコード、実行、パラメーター ファイル) を Azure DevOps から出力ディレクトリにダウンロードします。 list コマンドを使用して、使用可能なすべてのテスト ケースを取得し、最初の列の任意の値を test_case_id パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppdownload[/retry[=<seconds>]] [test_case_id] [output_dir]

download: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、ダウンロード プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
ダウンロード: 必須パラメータ
  • test_case_id: テスト ケース ID を表します。
download: オプション パラメーター
  • output_dir: 出力作業ディレクトリを表します。 このディレクトリが存在している必要があります。 このパラメーターが指定されていない場合は、設定の作業ディレクトリが使用されます。
ダウンロード: 例

download 123 c:\temp\rsat

download /retry=240 765

downloadsuite

指定したテスト スイートにあるすべてのテスト ケースの添付ファイル (レコード、実行、パラメーター ファイル) を Azure DevOps から出力ディレクトリにダウンロードします。 listtestsuitenames コマンドを使用して、使用可能なすべてのテスト スイートを取得し、任意の値を test_suite_name パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppdownloadsuite[/retry[=<seconds>]] ([test_suite_name] | [/byid] [test_suite_id]) [output_dir]

downloadsuite: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、ダウンロード プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /byid: このスイッチは、目的のテスト スイートが、テスト スイート名ではなく Azure DevOps IDで識別されることを示します。
downloadsuite: 必須パラメーター
  • test_suite_name: テスト スイートの名前を表します。 /byid スイッチが指定されて いない 場合、このパラメーターは必須です。 この名前は Azure DevOps テスト スイート名です。
  • test_suite_id: テスト スイート ID を表します。 /byid スイッチが指定されて いる 場合、このパラメーターは必須です。 この ID はテスト スイート Azure DevOps ID です。
downloadsuite: オプション パラメーター
  • output_dir: 出力作業ディレクトリを表します。 このディレクトリが存在している必要があります。 このパラメーターが指定されていない場合は、設定の作業ディレクトリが使用されます。
downloadsuite: 例

downloadsuite NameOfTheSuite c:\temp\rsat

downloadsuite /byid 123 c:\temp\rsat

downloadsuite /retry=240 /byid 765

downloadsuite /retry=240 /byid 765 c:\temp\rsat

編集

Excel プログラムでパラメーター ファイルを開いて編集できるようにします。

Microsoft.Dynamics.RegressionSuite.ConsoleAppedit[excel_file]

編集: 必須パラメーター
  • excel_file: 既存の Excel ファイルへの完全なパスが含まれている必要があります。
編集: 例

edit c:\RSAT\123\TestCase_123_Base.xlsx

edit e:\temp\TestCase_456_Base.xlsx

作成

指定されたテスト ケースのテスト実行およびパラメーター ファイルを出力ディレクトリに生成します。 list コマンドを使用すると、使用可能なすべてのテスト ケースを取得できます。 最初の列の値を test_case_id パラメーターとして使用します。

Microsoft.Dynamics.RegressionSuite.ConsoleAppgenerate[/retry[=<seconds>]] [/dllonly] [/keepcustomexcel] [test_case_id] [output_dir]

generate: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、生成プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /dllonly: テスト実行ファイルのみ生成します。 Excel パラメーター ファイルを再生成しないでください。
  • /keepcustomexcel: 既存のパラメーター ファイルをアップグレードします。 実行ファイルも再生成します。
Generate : 必須パラメータ
  • test_case_id: テスト ケース ID を表します。
generate: オプション パラメーター
  • output_dir: 出力作業ディレクトリを表します。 このディレクトリが存在している必要があります。 このパラメーターが指定されていない場合は、設定の作業ディレクトリが使用されます。
generate: 例

generate 123 c:\temp\rsat

generate /retry=240 765 c:\rsat\last

generate /retry=240 /dllonly 765

generate /retry=240 /keepcustomexcel 765

generatederived

指定したテスト ケースの新しい派生テスト ケース (子テスト ケース) を生成します。 新しいテスト ケースは、指定したテスト スイートにも追加されます。 list コマンドを使用して、使用可能なすべてのテスト ケースを取得し、最初の列の任意の値を test_case_id パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppgeneratederived[/retry[=<seconds>]] [parent_test_case_id] [test_plan_id] [test_suite_id]

generatederived: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、生成プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
generatederived: 必須パラメータ
  • parent_test_case_id: 親テスト ケース ID を表します。
  • test_plan_id: テスト計画 ID を表します。
  • test_suite_id: テスト スイート ID を表します。
generatederived: 例

generatederived 123 8901 678

generatederived /retry 123 8901 678

generatetestonly

指定したテスト ケースのテスト実行ファイルのみを生成します。 Excel パラメーター ファイルは生成されません。 ファイルは、指定した出力ディレクトリに生成されます。 list コマンドを使用して、使用可能なすべてのテスト ケースを取得し、最初の列の任意の値を test_case_id パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppgeneratetestonly[/retry[=<seconds>]] [test_case_id] [output_dir]

generatetestonly: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、生成プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
generatetestonly: 必須パラメータ
  • test_case_id: テスト ケース ID を表します。
generatetestonly: オプション パラメーター
  • output_dir: 出力作業ディレクトリを表します。 このディレクトリが存在している必要があります。 このパラメーターが指定されていない場合は、設定の作業ディレクトリが使用されます。
generatetestonly: 例

generatetestonly 123 c:\temp\rsat

generatetestonly /retry=240 765

generatetestsuite

指定したテスト スイートにあるすべてのテスト ケースのテスト自動化ファイルを生成します。 listtestsuitenames コマンドを使用して、使用可能なすべてのテスト スイートを取得し、任意の値を test_suite_name パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppgeneratetestsuite[/retry[=<seconds>]] [/dllonly] [/keepcustomexcel] ([test_suite_name] | [/byid] [test_suite_id]) [output_dir]

generatetestsuite: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、生成プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /dllonly: テスト実行ファイルのみ生成します。 Excel パラメーター ファイルを再生成しないでください。
  • /keepcustomexcel: 既存のパラメーター ファイルをアップグレードします。 実行ファイルも再生成します。
  • /byid: このスイッチは、目的のテスト スイートが、テスト スイート名ではなく Azure DevOps IDで識別されることを示します。
generatetestsuite: 必須パラメータ
  • test_suite_name: テスト スイートの名前を表します。 /byid スイッチが指定されて いない 場合、このパラメーターは必須です。 この名前は Azure DevOps テスト スイート名です。
  • test_suite_id: テスト スイート ID を表します。 /byid スイッチが指定されて いる 場合、このパラメーターは必須です。 この ID はテスト スイート Azure DevOps ID です。
generatetestsuite: オプション パラメーター
  • output_dir: 出力作業ディレクトリを表します。 このディレクトリが存在している必要があります。 このパラメーターが指定されていない場合は、設定の作業ディレクトリが使用されます。
generatetestsuite: 例

generatetestsuite Tests c:\temp\rsat

generatetestsuite /retry Purchase c:\rsat\last

generatetestsuite /dllonly /byid 121

generatetestsuite /keepcustomexcel /byid 121

ヘルプ

? コマンドと同じです。

リスト

現在のテスト計画で使用可能なすべてのテスト ケースを一覧表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleApplist

listtestplans

使用可能なすべてのテスト計画を一覧表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleApplisttestplans

listtestsuite

指定されたテスト スイートのテスト ケースを一覧表示します。 listtestsuitenames コマンドを使用して、使用可能なすべてのテスト スイートを取得し、リストの任意の値を suite_name パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleApplisttestsuite[test_suite_name]

listtestsuite: 必須パラメータ
  • test_suite_name: 目的のスイートの名前。
listtestsuite: 例

listtestsuite "sample suite name"

listtestsuite NameOfTheSuite

listtestsuitebyid

指定されたテスト スイートのテスト ケースを一覧表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleApplisttestsuitebyid[test_suite_id]

listtestsuitebyid: 必須パラメーター
  • test_suite_id: 目的のスイートの ID。
listtestsuitebyid: 例

listtestsuitebyid 12345

listtestsuitenames

現在のテスト計画で使用可能なすべてのテスト スイートを一覧表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleApplisttestsuitenames

playback

指定した Excel パラメーター ファイルに関連付けられたテスト ケースを再生します。 このコマンドは既存のローカル自動化ファイルを使用し、Azure DevOps からファイルをダウンロードしません。 このコマンドは POS コマース テスト ケースではサポートされていません。

Microsoft.Dynamics.RegressionSuite.ConsoleAppplayback[/retry[=<seconds>]] [/comments[="comment"]] [excel_parameter_file]

playback: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、再生プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /comments[="comment"]: Azure DevOps テスト ケースを実行するための概要ページおよびテスト結果ページの コメント フィールドに含めるカスタム情報文字列を指定します。
playback: 必須パラメータ
  • excel_parameter_file: Excel パラメーター ファイルの完全なパス。 ファイルが存在する必要があります。
playback: 例

playback c:\RSAT\2745\attachments\Create_Purchase_Order_2745_Base.xlsx

playback /retry e:\temp\test.xlsx

playback /retry=300 e:\temp\test.xlsx

playback /comments="Payroll solution 10.0.0" e:\temp\test.xlsx

playbackbyid

同時に複数のテスト ケースを再生します。 テスト ケースは ID で識別されます。 このコマンドは、ファイルを Azure DevOps からダウンロードします。 list コマンドを使用して、使用可能なすべてのテスト ケースを取得し、最初の列の任意の値を test_case_id パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppplaybackbyid[/retry[=<seconds>]] [/comments[="comment"]] [test_case_id1] [test_case_id2] ... [test_case_idN]

playbackbyid: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、再生プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /comments[="comment"]: Azure DevOps テスト ケースを実行するための概要ページおよびテスト結果ページの コメント フィールドに含めるカスタム情報文字列を指定します。
playbackbyid: 必須パラメータ
  • test_case_id1: 既存のテスト ケースの ID。
  • test_case_id2: 既存のテスト ケースの ID。
  • test_case_idN: 既存のテスト ケースの ID。
playbackbyid: 例

playbackbyid 878

playbackbyid 2345 667 135

playbackbyid /comments="Payroll solution 10.0.0" 2345 667 135

playbackbyid /retry /comments="Payroll solution 10.0.0" 2345 667 135

playbackmany

同時に多数のテスト ケースを再生します。 テスト ケースは Excel パラメーター ファイルで識別されます。 このコマンドは既存のローカル自動化ファイルを使用し、Azure DevOps からファイルをダウンロードしません。

Microsoft.Dynamics.RegressionSuite.ConsoleAppplaybackmany[/retry[=<seconds>]] [/comments[="comment"]] [excel_parameter_file1] [excel_parameter_file2] ... [excel_parameter_fileN]

playbackmany: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、再生プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /comments[="comment"]: Azure DevOps テスト ケースを実行するための概要ページおよびテスト結果ページの コメント フィールドに含めるカスタム情報文字列を指定します。
playbackmany: 必須パラメータ
  • excel_parameter_file1: Excel パラメーター ファイルの完全なパス。 ファイルが存在する必要があります。
  • excel_parameter_file2: Excel パラメーター ファイルの完全なパス。 ファイルが存在する必要があります。
  • excel_parameter_fileN: Excel パラメーター ファイルの完全なパス。 ファイルが存在する必要があります。
playbackmany: 例

playbackmany c:\RSAT\2745\attachments\Create_Purchase_Order_2745_Base.xlsx

playbackmany e:\temp\test.xlsx f:\RSAT\sample1.xlsx c:\RSAT\sample2.xlsx

playbackmany /retry=180 /comments="Payroll solution 10.0.0" e:\temp\test.xlsx f:\rsat\sample1.xlsx c:\RSAT\sample2.xlsx

playbacksuite

1 つ以上の指定したテスト スイートからすべてのテスト ケースを再生します。 /local スイッチが指定されている場合、ローカルの添付ファイルが再生に使用されます。 それ以外の場合、添付ファイルは Azure DevOps からダウンロードされます。 listtestsuitenames コマンドを使用して、使用可能なすべてのテスト スイートを取得し、最初の列の任意の値を suite_name パラメーターとして使用できます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppplaybacksuite[/updatedriver] [/local] [/retry[=<seconds>]] [/comments[="comment"]] ([test_suite_name1] .. [test_suite_nameN] | [/byid] [test_suite_id1] .. [test_suite_idN])

playbacksuite: オプション スイッチ
  • /updatedriver: このスイッチが指定されている場合は、再生プロセスが実行される前に、インターネット ブラウザーの WebDriver が必要に応じて更新されます。
  • /local: このスイッチは、Azure DevOps からファイルをダウンロードする代わりに、ローカル添付ファイルを再生に使用する必要があることを示します。
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、再生プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /comments[="comment"]: Azure DevOps テスト ケースを実行するための概要ページおよびテスト結果ページの コメント フィールドに含めるカスタム情報文字列を指定します。
  • /byid: このスイッチは、目的のテスト スイートが、テスト スイート名ではなく Azure DevOps IDで識別されることを示します。
playbacksuite: 必須パラメータ
  • test_suite_name1: テスト スイートの名前を表します。 /byid スイッチが指定されて いない 場合、このパラメーターは必須です。 この名前は Azure DevOps テスト スイート名です。
  • test_suite_nameN: テスト スイートの名前を表します。 /byid スイッチが指定されて いない 場合、このパラメーターは必須です。 この名前は Azure DevOps テスト スイート名です。
  • test_suite_id1: テスト スイート ID を表します。 /byid スイッチが指定されて いる 場合、このパラメーターは必須です。 この ID はテスト スイート Azure DevOps ID です。
  • test_suite_idN: テスト スイート ID を表します。 /byid スイッチが指定されて いる 場合、このパラメーターは必須です。 この ID はテスト スイート Azure DevOps ID です。
playbacksuite: 例

playbacksuite suiteName

playbacksuite suiteName suiteNameToo

playbacksuite /updatedriver /local /retry=180 /byid 151 156

playbacksuite /updatedriver /local /comments="Payroll solution 10.0.0" /byid 150

playbacksuitebyid

指定した Azure DevOps テスト スイートですべてのテスト ケースを実行します。

Microsoft.Dynamics.RegressionSuite.ConsoleAppplaybacksuitebyid[/updatedriver] [/local] [/retry[=<seconds>]] [/comments[="comment"]] [test_suite_id]

playbacksuitebyid: オプション スイッチ
  • /retry[=seconds]: このスイッチが指定され、ケースのテスト ケースが他の RSAT インスタンスによってブロックされている場合、再生プロセスは指定した秒数待機してから、もう 1 度試行します。 [秒] の既定値は 120 秒です。 このスイッチがないと、テスト ケースがブロックされた場合、プロセスは直ちにキャンセルされます。
  • /comments[="comment"]: Azure DevOps テスト ケースを実行するための概要ページおよびテスト結果ページの コメント フィールドに含めるカスタム情報文字列を指定します。
  • /byid: このスイッチは、目的のテスト スイートが、テスト スイート名ではなく Azure DevOps IDで識別されることを示します。
playbacksuitebyid: 必須パラメーター
  • test_suite_id: Azure DevOps に存在する テスト スイート IDを表します。
playbacksuitebyid: 例

playbacksuitebyid 2900

playbacksuitebyid /retry 2099

playbacksuitebyid /retry=200 2099

playbacksuitebyid /retry=200 /comments="some comment" 2099

quit

アプリケーションを閉じます。 このコマンドは、アプリケーションが対話モードで実行されている場合にのみ役立ちます。

Microsoft.Dynamics.RegressionSuite.ConsoleAppquit

quit: 例

quit

アップロード

指定したテスト スイートまたはテスト ケースに属する添付ファイル (記録、実行、およびパラメーター ファイル) を Azure DevOps にアップロードします。

Microsoft.Dynamics.RegressionSuite.ConsoleAppupload([test_suite_name] | [test_case_id1] .. [test_case_idN])

upload: 必須パラメータ
  • test_suite_name: 指定したテスト スイートに属するすべてのファイルがアップロードされます。
  • test_case_id1: アップロードする最初のテスト ケース ID を表します。 このパラメーターは、テスト スイート名が指定されていない場合にのみ使用します。
  • test_case_idN: アップロードする最後のテスト ケース ID を表します。 このパラメーターは、テスト スイート名が指定されていない場合にのみ使用します。
upload: 例

upload sample_suite

upload 2900

upload 123 456

uploadrecording

1 つ以上の指定したテスト ケースに属する記録ファイルのみを Azure DevOps にアップロードします。

Microsoft.Dynamics.RegressionSuite.ConsoleAppuploadrecording[test_case_id1] .. [test_case_idN]

uploadrecording: 必須パラメータ
  • test_case_id1 : Azure DevOps にアップロードする記録の最初のテスト ケース ID を表します。
  • test_case_idN : Azure DevOps にアップロードする記録の最後のテスト ケース ID を表します。
uploadrecording: 例

uploadrecording 123

uploadrecording 123 456

uploadsuite

指定したテスト スイートまたはテスト ケースに属する添付ファイル (レコーディング、実行、パラメーター ファイル) を Azure DevOps にアップロードします。

Microsoft.Dynamics.RegressionSuite.ConsoleAppuploadsuite[test_suite_name1] .. [test_suite_nameN] | [/byid] [test_suite_id1] .. [test_suite_idN]

uploadsuite: オプション スイッチ
  • /byid: このスイッチは、目的のテスト スイートが、テスト スイート名ではなく Azure DevOps IDで識別されることを示します。
uploadsuite: 必須パラメーター
  • test_suite_name1: テスト スイートの名前を表します。 /byid スイッチが指定されて いない 場合、このパラメーターは必須です。 この名前は Azure DevOps テスト スイート名です。
  • test_suite_nameN: テスト スイートの名前を表します。 /byid スイッチが指定されて いない 場合、このパラメーターは必須です。 この名前は Azure DevOps テスト スイート名です。
  • test_case_id1 : Azure DevOps にアップロードする記録の最初のテスト ケース ID を表します。
  • test_case_idN : Azure DevOps にアップロードする記録の最後のテスト ケース ID を表します。
uploadsuite: 例

uploadsuite suiteName

uploadsuite suiteName suiteNameToo

uploadsuite /byid 123

uploadsuite /byid 123 456

使用

このアプリケーションの 3 つの使用モードを表示します。

Microsoft.Dynamics.RegressionSuite.ConsoleAppusage

アプリケーションの対話的な実行:

  • Microsoft.Dynamics.RegressionSuite.ConsoleApp

コマンドを指定してアプリケーションを実行:

  • Microsoft.Dynamics.RegressionSuite.ConsoleApp [command]

設定ファイルを指定してアプリケーションを実行:

  • Microsoft.Dynamics.RegressionSuite.ConsoleApp/settings [drive:\Path to\file.settings] [command]

Windows PowerShell の例

ループでのテスト ケースの実行

新しい顧客を作成するテスト スクリプトがあります。 このテスト ケースは、スクリプトを使用し、各繰り返しを実行する前に次のデータをランダム化することによってループで実行できます。

  • Customerid
  • 顧客名
  • 顧客の住所

customerid は、ATCUS<番号>の形式で、<番号>は 000000001999999999 の間の値にします。

次の例は、1 つのパラメーター、開始を使用して、使用される最初の番号を定義します。 2 番目のパラメーター nr を使用して、作成する必要がある顧客数を定義します。 繰り返しごとに、Excel パラメーター ファイル内のパラメーターが UpdateCustomer 関数を使用して変更されます。 次に、RSAT コマンドラインは RunTestCase 関数内で呼び出されます。

管理者モードで Microsoft Windows PowerShell Integrated Scripting Environment (ISE) を開き、Untitled1.ps1 という名前のウィンドウに次のコードを貼り付けます。

param ( [int]$start = 1, [int]$nr = 1 )
function UpdateCustomer
{
    param ([string]$paramFilename, [string]$sheetName, [string]$CustId)
    $xl = New-Object -COM "Excel.Application"
    $xl.Visible = $false
    $wb = $xl.Workbooks.Open($paramFilename)
    $ws = $wb.Sheets.Item($sheetName)
    $ws.Cells.Item(3, 2).Value = "ATCUS" + $CustId
    $ws.Cells.Item(4, 2).Value = "Automated Test Customer " + $CustId
    $ws.Cells.Item(8, 2).Value = "Automated Test Street " + $CustId
    $wb.Save()
    $wb.Close()
    $xl.Quit()
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl)
}
function RunTestCase
{
    param ( [string]$filename )
    $cmd = "cd c:\Program Files (x86)\Regression Suite Automation Tool\ &&  "
    $cmd = $cmd + "Microsoft.Dynamics.RegressionSuite.ConsoleApp.exe playback "
    $cmd = $cmd + $filename
    cmd /c $cmd
}
$excelFilename = "full path to Excel parameter file"
l$sheetName = "DirPartyQuickCreateForm"
for ($i = $start; $i -lt $start + $nr; $i++ )
{
    $CustomerId = $i.ToString("000000000")
    Write-Host "customer : " $CustomerId
    UpdateCustomer $excelFilename $sheetName $CustomerId
    RunTestCase $excelFilename

Microsoft Dynamics 365 のデータに依存するスクリプトを実行する

次の例は、オープン データ プロトコル (OData) 呼び出しを使用して、発注書のオーダー状態を検索します。 ステータスが請求済ではない場合、たとえば、請求書を転記する RSAT のテスト ケースを呼び出すことができます。

function Odata_Get
{
    Param ( [string] $environment, [string] $cmd )
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    $tenant = "your tenant"
    $creds = @{
        grant_type = "client_credentials"
        client_id = "your client application Id"
        client_secret = "your client secret"
        resource = $environment
    }
    $headers = $null
    $bearer = Invoke-RestMethod https://login.microsoftonline.com/$tenant/oauth2/token -Method Post -Body $creds -Headers $headers;
    $headers = @{
        Authorization = "Bearer " + $bearer.access_token
    }
    $Odata_cmd = $environment + '/data/' + $cmd
    return (Invoke-RestMethod -Uri $Odata_cmd -Method Get -Headers $headers -ContentType application/json )
}
function PurchaseOrderStatus
{
    Param ( [string] $environment, [string] $purchaseOrderNumber )
    $cmd = 'PurchaseOrderHeaders?$filter=PurchaseOrderNumber eq '
    $cmd = $cmd + "'" + $purchaseOrderNumber + "'"
    $response = Odata_Get -environment $environment -cmd $cmd
    return $response.value.PurchaseOrderStatus
}
$environment = "https://your environment"
$orderStatus = PurchaseOrderStatus -environment $environment -purchaseOrderNumber '000003'
if ($orderStatus -eq $null) {   write-host 'doesn''t exist'}
elseif ($orderStatus -ne 'invoiced') { RunTestCase "PostInvoice" }