Azure DevOps Pipelines での UI テストの実行

テストしているアプリケーションのIBM® DevOps Test UI (Test UI)でテストを作成した後、および、組織にTest Workbench拡張機能をインストールした後、Azure DevOpsパイプラインでテストを実行できます。

以下のタスクを完了しておく必要があります。
  • Test Workbench拡張機能を組織にインストールします。 Test Workbench拡張機能のインストール』を参照してください。
  • パイプラインにエージェントをインストールします。 Azure Pipelines agentsを参照してください。
  • 「テスト計画 (Test Plans)」ダッシュボードでテスト実行の結果を表示する場合に備えてテスト計画の下でテスト・ケースを作成してあります。

Azure DevOps組織にTest Workbench拡張機能を追加した後、既存のパイプラインを使用するか、新しいパイプラインを作成してTest UIテスト・タスクに追加できます。 エージェントをインストールすることも、デフォルトのエージェント・プールにインストールしたエージェントを使用することもできます。 Test UI テストを、エージェント・ジョブのタスクに追加し、タスクを構成して、Azure DevOps のパイプラインでタスクを実行することができます。

Azure DevOps プロジェクトのテスト計画でテスト・ケースを作成した場合は、「テスト計画」ダッシュボードでテスト実行の結果を表示できるようにパイプラインでテスト・ジョブを構成するときに、Azure DevOps URL、テスト計画、テスト・ケース、および個人用アクセス・トークン (PAT) の詳細を指定できます。

  1. Azure DevOps の「組織 (Organization)」ページを開き、以下のステップを実行します。
    1. 使用するプロジェクトをクリックします。
    2. 以下の手順を実行して、リポジトリーを初期化します。
      1. 左側で「Repos」をクリックします。
      2. 「README または gitignore で初期化 (Initialize with a README or gitignore)」セクションで「初期化 (Initialize)」をクリックします。
        注: まだ選択されていない場合には「README の追加 (Add a README)」チェック・ボックスを選択します。
    3. 左側で「Pipelines」をクリックします。
    4. 「パイプラインの作成 (Create Pipeline)」をクリックします。
    5. YAML を使用せずにパイプラインを作成する場合は、「クラシック・エディターの使用 (Use the classic editor)」をクリックします。
    6. 手動ビルドおよびスケジュールされたビルドのプロジェクト、リポジトリー、ブランチを確認し、「続行 (Continue)」をクリックします。
    7. 「空のジョブ (Empty job)」をクリックします。
  2. 「パイプライン (Pipeline)」で、以下のステップを実行します。
    1. 必要に応じて、ビルド・パイプラインの名前を変更します。
    2. ビルドのパイプラインに対して「Agent pool」を選択します。

      デフォルト・エージェント・プールのエージェントを使用することも、インストールしたエージェントを使用することもできます。

    3. 必要に応じて、そのエージェントの「エージェントの仕様 (Agent Specification)」を選択します。
  3. 以下のステップを実行して、タスクをエージェント・ジョブに追加します。
    1. エージェント・ジョブの「タスクの追加 (Add Task)」アイコンAzure DevOps Pipelines の「タスクの追加 (Add Task)」アイコンをクリックします。

      「タスクの追加 (Add tasks)」ペインが表示されます。

    2. Test Workbench拡張機能に定義されているIBMタスクを検索します。

      選択できるタスクが表示されます。

      Azure DevOpsでのIBMタスクの選択

      Test UI で作成したテストのタイプに応じて、タスクのタイプを選択できます。

      以下の表を使用して、選択する必要があるタスクを特定します。
      テストのタイプ 選択するタスク
      • AFT スイート
      • Web UI テスト
      • 複合テスト
      DevOps Test UI - UIテスト・タスク
    3. DevOps Test UI - UIテスト・タスク・オプションを選択し、「追加」をクリックしてタスクをエージェント・ジョブに追加します。

      選択されたタスクがエージェント・ジョブに追加され、一部の設定に注意が必要という警告とともに表示されます。 ステップ 4 に説明されている設定を構成する必要があります。

      ジョブ内の必要のないタスクを削除することも可能です。 削除したいタスクをリストから選択します。 タスクを右クリックし、「選択したタスクの削除 (Remove selected task(s))」)をクリックして削除します。

  4. 以下のステップを実行して設定を構成します。
    1. 必要に応じて、リストからタスク・バージョンを選択します。
    2. 次の表を参照して、Web UI タスクのアクションを実行します。
      注: 必須フィールドにはいずれも UI にアスタリスク (*) マークが付けられています。
      注:
      以下の必須フィールドに対して値を指定する必要があります。
      • Workspace Location
      • Project Name
      • Test Suite Name
      これらの必須パラメーターを構成ファイルに組み込み、Configuration Fileフィールドを使用して完全ファイル・パスを指定する場合、これらの値は必要ありません。
      フィールド 説明 アクション
      表示名 選択したタスクの名前を表示します。 タスクの名前を入力します。
      テスト・ケース・タイプ 実行するテストのタイプ。 「テスト・ケース・タイプ (Testcase Type)」リストから「Web UI」を選択します。
      インポート ソース管理システムまたはリモート・リポジトリーから複製されたプロジェクト・フォルダーの絶対パス。 ソース管理システムまたはリモート・リポジトリーから複製されたプロジェクト・フォルダーの絶対パスを入力します。 このオプションを使用すると、インポートしたテスト資産を実行するために作成される新しいワークスペースに名前を指定できます。
      IMSharedパス ローカル・コンピューターの IMShared フォルダーのパス IBMIMShared フォルダーのロケーションの絶対パスを入力します (そのフォルダーがデフォルト・パスにない場合)。 例: D:\IBM\IBMIMShared
      注: 値を入力しないと、IBMIMShared フォルダーのデフォルト・パスがテスト実行対象とみなされます。 各種オペレーティング・システムにおけるデフォルト・パスは以下のとおりです。
      • Linux: /opt/IBM/IBMIMShared
      • Mac: /Application/IBM/IBMIMShared
      • Windows の場合: C:\Program Files\IBM\IBMIMShared
      ワークスペース・ロケーション Eclipse ワークスペースへの完全なパス。 Eclipse ワークスペースの完全パスを入力します。
      プロジェクト名 テストを含むプロジェクトの名前。 テストを含むプロジェクトの名前を入力します。
      テスト・スイート名 プロジェクト内で使用するテストの名前。 テストとして Web UI テスト、複合テスト、または AFT スイートを使用できます。 実行したいテストの名前を入力します。
      VM 引数 渡されるJava™ 仮想マシン引数。
      Java™ 仮想マシン引数を入力します。
      注: 複数の仮想マシン引数ファイルを comma で区切って追加できます。
      ラベル テスト実行の完了時にテスト結果にラベルを追加するオプション。 テスト実行の完了時にテスト結果に追加されるラベルを入力します。 複数のラベルをコンマで区切ってテスト結果に追加することができます。

      例えば、label1 label2 などです

      テスト資産を実行すると、同じラベルが Test UI において UI テスト統計レポートに表示されます。

      Test UIの設定(「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub)で「実行後に結果を公開」「常時」または「プロンプト」に設定した場合、「ラベル」オプションを使用すると、DevOps Test Hub「結果」ページに特定のテスト資産と同じライブラリーが表示されます。

      注:
      • Labels フィールドに二重引用符 ("") を使用してテストを実行する場合、テスト結果のラベルには二重引用符が含まれません。
      • この問題を回避するには、コマンド・ライン構成ファイルを作成し、Configuration File フィールドを使用してテストを実行する必要があります。
      • Configuration File フィールドを使用してテストを実行する場合、構成ファイルに指定されているラベルが、Labels フィールドに指定されているラベルよりも優先されます。
      Var ファイル 変数の名前と値のペアが含まれている XML ファイルの絶対パス。 変数ファイルのロケーションの完全パスを入力します。
      データ・セット・オーバーライド テストの場合、デフォルト値はテスト・エディターで指定されたデータ・セットです。 テスト実行中にデータ・セット値を置換するには、Dataset Override オプションを使用します。 テストがデータ・セットに関連付けられている場合は、コマンド・ラインから実行を開始しながら、実行時にデータ・セットを置き換えることができます。
      注:

      テスト実行中にデータ・セット値を置換するには、Dataset Override オプションを使用する必要があります。 オリジナルのデータ・セットと新しいデータ・セットがどちらも同じワークスペースにあり、同じ列名を持っていることを確認する必要があります。 データ・セットへのパスを含める必要もあります。

      例:

      /project_name/ds_path/ds_filename.csv:/project_name/ds_path/new_ds_filename.csv.

      semicolon (;)で区切って複数のパスをデータ・セットに追加することで、異なるプロジェクトに保存されている複数のデータ・セットをスワップできます。

      例:

      /project_name1/ds_path/ds_filename.csv:/project_name1/ds_path/new_ds_filename.csv;
      /project_name2/ds_path/ds_filename.csv:/project_name2/ds_path/new_ds_filename.csv
      構成ファイル テスト実行用のパラメーターが含まれているファイルの絶対パス。 テスト実行のパラメーターを含むファイルの絶対パスを入力します。
      結果 結果ファイルの名前。 結果ファイルのデフォルト名は、テスト名にタイム・スタンプを追加したものです。 プロジェクトに関連するテスト結果保管先フォルダーの名前を指定する必要があります。 例えば、-results folder/resultnameなどです。
      上書き 同じ名前の結果ファイルを上書きするかどうかを決定します。 デフォルト値 false は、新規結果ファイルが作成されることを指示します。 既存のファイルを上書きして同じファイル名を保持するには、値を true に設定します。
      統計データのエクスポート Export stats format フィールドに指定された形式でレポートをエクスポートするための完全パス。 値は、CSV フォーマットでエクスポートするためにコンマ区切りで入力します。
      統計レポート・エクスポート・リスト (Export stat report list) デフォルト・レポートの代わりにエクスポートするレポートまたは「設定」で選択されているレポートをリストするためのオプション。 レポート ID のリストをコンマ区切りで入力します。
      統計データ・エクスポート html (Export stats html) テスト・ワークベンチを使用せずに Web ブラウザーで結果を表示および分析するためのオプション。 Web 分析結果のエクスポート先となるディレクトリーの絶対パスを指定します。 複数のテストを実行する場合は、このフィールドに値を指定しないでください。
      ユーザー・コメント コメントをレポートに追加して表示するためのオプション。 レポートの「ユーザー・コメント」行に表示するテキストを二重引用符で囲んで入力します。
      注:
      • User Comments フィールドに二重引用符 ("") を使用してテストを実行する場合、レポートの User Comments 行には二重引用符が含まれません。
      • この問題を回避するには、コマンド・ライン構成ファイルを作成し、Configuration File フィールドを使用してテストを実行する必要があります。
      プロトコル入力 テスト実行をカスタマイズするためのオプション。 以下のいずれかのオプションを選択して、テスト実行をカスタマイズします。
      • さまざまなブラウザーで Web UI テストを並行して実行します。

        例えば、Protocol Inputall.available.targets.in.parallel=all または

        Protocol Inputall.available.targets.in.parallel=chrome,ff,ie です。

        注: Protocol Input 引数を使用する場合は、同等の VM Args 引数を使用しないでください。
        VM Args = -Dall.available.targets.in.parallel=all
        VM Args = -Dall.available.targets.in.parallel=browser1,browser2,browser3
      • エージェントを介してバックグラウンドで UI テストを実行します。

        bg=true を使用して、バックグラウンドで UI テストを実行できます。 画面がロックされているか、エージェントが切断されている場合でも、テストの実行は続行されます。

      レポートのエクスポート 統合レポートを他のファイル・フォーマット (PDF、XML、HTML など) でエクスポートするためのオプション。 テキスト・フィールドに以下の詳細を入力します。

      type=<report type>;format=<file type>;folder=<destination folder path>;filename=<name of the exported file>

      統計データ・エクスポート・フォーマット (Export stats format) エクスポートするレポートのフォーマットを指定するオプション。

      エクスポートするレポートのフォーマットを指定します。 Export statsパラメーターは、Export stats formatパラメーターと一緒に使用する必要があります。

      次の形式の少なくとも 1 つを使用する必要があります。
      • simple.csv

      • full.csv

      • simple.json

      • full.json

      • csv

      • json

      例:
      Export stats = <local_dir_path> 
      Export stats format = json

      カンマ (,) で区切って複数のレポート形式を追加することができます。

      json または csv 形式でシンプル・レポートとフル・レポートの両方をエクスポートする場合は、このフィールドに形式として json または csv を指定できます。

      レポートは、Export stats フィールドで指定された場所に保存されます。

      パブリッシュ DevOps Test Hub にテスト結果を公開するためのオプション。 テスト結果を DevOps Test Hub に公開するためのサーバー URL とプロジェクト名を指定します。

      テスト・スクリプトでpublishパラメーターを使用する前に、Test UI「ウィンドウ」 > 「設定」 > 「テスト」「 > DevOps Test Hub」でサーバーのURLとオフライン・ユーザー・トークンを指定する必要があります。

      publish パラメーターとともに以下の引数を使用します。

      • プロジェクト名を指定するには、以下のいずれかのフォーマットを使用します。
        • serverURL #project.name=projectName&teamspace.name=name_of_the _teamspace

        • serverURL #project.name=projectName&teamspace.alias=name_of_the _teamspace_alias

        値を指定するときは、次の点を考慮する必要があります。
        • プロジェクト名が指定されていない場合は、Project Name パラメーターの値が使用されます。

        • 異なるチーム・スペースに同じ名前のプロジェクトがある場合は、&teamspace.name=name_of_the _teamspace オプションまたは &teamspace.alias==name_of_the_teamspace_alias オプションのいずれかを追加できます。

          例:
          Workspace Location = C:/Users/IBM/devopstest/workspace1
          Project Name = proj1
          Test Suite Name = Tests/testHttp.testsuite
          publish = https://localhost:5443#project.name=test&teamspace.name=ts1
          各項目の意味は次のとおりです。
          • https://localhost:5443 はサーバーの URL です。

          • test のプロジェクトの名前です。

          • ts1 はチーム・スペースの名前です。

        • プロジェクトまたはチーム・スペースの名前に特殊文字が含まれている場合は、それを%<Hex_value_of_special_character>で置き換える必要があります。

          例えば、チーム・スペースの名前が Initial Team Space のときは、Intial%20Team%20Space と指定します。

          この %20 はスペース文字の 16 進値です。

        • Publish フィールドの値を指定する際に、二重引用符 ("") を含めないでください。
      • レポートが公開されないようにするには、no を使用します。

        実行後にテスト結果を公開しない場合は、no オプションを使用します。 このオプションは、結果を公開するように製品設定で指定されているが、公開したくない場合に役立ちます。

        例:
        Workspace Location = C:/Users/IBM/devopstest/workspace1
        Project Name = proj1
        Test Suite Name = Tests/testHttp.testsuite
        publish = no

      Config File」フィールドを使用してテストを実行しない場合、「Publish」フィールドで指定された値は、製品の設定(「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub > 「結果」)で指定された「結果」オプションより常に優先されます。

      「出力」ウィンドウの「レポート情報」 セクションには、レポートの名前と、その対応する URL が表示されます。

      • DevOps Test HubのURLを、Test UIの設定(「ウィンドウ」 > 「設定」 > 「テスト」「 > DevOps Test Hub」)で構成した場合。

      • Test UIの設定(「ウィンドウ」 > 「設定」 > 「テスト」「 > DevOps Test Hub > 」「結果」)で「実行後に結果を公開」「常時」または「プロンプト」に設定した場合。

      publish_for テストの完了状況に基づいてテスト結果を DevOps Test Hub に公開するためのオプション。

      このオプションは、テストの完了状況に基づいてテスト結果を DevOps Test Hub に公開する場合に指定します。 publish_for パラメーターは、publish パラメーターと一緒に使用する必要があります。

      publish_for パラメーターに使用できる使用可能なオプションを以下に示します。

      • ALL - これがデフォルト・オプションです。 このオプションを使用して、テキスト実行の判断のテスト結果を公開することができます。
      • PASS - このオプションは、合格したテストのテスト結果を公開する場合に使用できます。
      • FAIL - このオプションは、不合格になったテストのテスト結果を公開する場合に使用できます。
      • ERROR - このオプションは、エラーを含んでいたテストのテスト結果を公開する場合に使用できます。
      • INCONCLUSIVE - このオプションは、解決不能なテストのテスト結果を公開する場合に使用できます。
      複数のパラメーターはコンマで区切って追加できます。
      例:
      Workspace Location = C:/Users/IBM/devopstest/workspace1
      Project Name = proj1
      Test Suite Name = Tests/testHttp.testsuite
      publish = https://localhost:5443#project.name=test&teamspace.name=ts1
      publish_for = FAIL,ERROR
      Publishreports DevOps Test Hub でテスト結果を公開するためのオプション。 DevOps Test Hub でテスト結果を公開するためのオプションを指定します。 publishreports で使用できる値は、以下のとおりです。
      • FT - これは機能テスト・レポートを表す識別子です。 この値を使用すれば、統合レポートを公開できます (これが、選択されたテストで使用できる場合)。 統合レポートを参照してください。
      • STATS - これは統計レポートを表す識別子です。 この値を使用すれば、Web 分析レポートを公開できます (これが、選択されたテストで使用できる場合)。 UI テスト統計レポートを参照してください。
      • TESTLOG - これはテスト・ログを表す識別子です。 この値を使用すれば、テスト・ログを公開できます (これが、選択されたテストで使用できる場合)。 ログの概要を参照してください。

      publishreportsパラメーターは、publishパラメーターと一緒に使用する必要があります。

      例:
      Workspace Location = C:/Users/IBM/devopstest/workspace1
      Project Name = proj1
      Test Suite Name = Tests/testHttp.testsuite
      publish = https://localhost:5443#project.name=test&teamspace.name=ts1
      publishreports = STATS, TESTLOG

      ここで指定された値は、Test UI「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub > 「結果」で選択された値をオーバーライドします。

      値の前に ! を付けることができます テスト・スクリプトに指定されたものを除き、レポートを公開できます。

      例:
      Workspace Location = C:/Users/IBM/devopstest/workspace1
      Project Name = proj1
      Test Suite Name = Tests/testHttp.testsuite
      publish = https://localhost:5443#project.name=test&teamspace.name=ts1
      publishreports = !TESTLOG

      TESTLOG レポートを除くすべてのレポートが、コマンドの実行後に DevOps Test Hub に公開されます。

      Azure DevOpsプロジェクトURL (Azure DevOps Project URL)

      Azure DevOps サーバー上の組織におけるテスト・プロジェクトの URL。

      注: Azure プロジェクトのテスト計画でテスト・ケースを作成した場合に「テスト計画 (Test Plans)」ダッシュボードでテスト結果を表示するのであれば、このパラメーターに関する詳細を入力する必要があります。
      Azure DevOps サーバー上の組織におけるテスト・プロジェクトの URL を以下のフォーマットで入力します。

      https://<host>/<orgname>/<projectName>

      このオプションは、以下のオプションとともに使用する必要があります。
      • Azure DevOps PAT
      • テスト計画名 (Test Plan Name)
      • テスト・ケース名 (Test Case Name)
      Azure DevOps PAT

      テスト計画が含まれているテスト・プロジェクトがホストされる Azure サーバーの個人用アクセス・トークン (PAT)。 また、トークンを秘密変数に追加して、次の形式で変数名を指定することもできます。

      $(variable_name)
      注: このトークンには読み取り権限と書き込み権限が必要です。
      個人用アクセス・トークンを入力します。
      このオプションは、以下のオプションとともに使用する必要があります。
      • Azure DevOpsプロジェクトURL (Azure DevOps Project URL)
      • テスト計画名 (Test Plan Name)
      • テスト・ケース名 (Test Case Name)
      テスト計画名 (Test Plan Name) Azure サーバーにおけるテスト計画の名前。 テスト計画の名前を入力します。
      このオプションは、以下のオプションとともに使用する必要があります。
      • Azure DevOpsプロジェクトURL (Azure DevOps Project URL)
      • Azure DevOps PAT
      • テスト・ケース名 (Test Case Name)
      テスト・ケース名 (Test Case Name) Azure サーバーにおけるテスト・ケースの名前。 テスト・ケースの名前を入力します。
      このオプションは、以下のオプションとともに使用する必要があります。
      • Azure DevOpsプロジェクトURL (Azure DevOps Project URL)
      • Azure DevOps PAT
      • テスト計画名 (Test Plan Name)
    3. 必要に応じて、「コントロール・オプション (Control Options)」を展開して、タスクの設定を構成します。
    4. 必要に応じて、「出力変数 (Output Variables)」を展開して、タスクの設定を構成します。
  5. 以下のようにオプションを選択します。
    1. 「保存」をクリックして、タスクの構成された設定を保存します。
      注: タスクが実行のためのキューに入れられることはありません。

      ビルド・パイプラインにタスクを保存して、後からビルドを実行するように選択できます。

    2. 「保存して待機 (Save & queue)」をクリックすると、構成が保存され、実行がパイプラインのキューに入れられます。

      「パイプラインの実行 (Run pipeline)」ダイアログが表示されます。

  6. 以下のステップを実行します。
    1. 「コメントの保存 (Save comment)」フィールドにテストのコメントを入力します。
    2. 「エージェント・プール (Agent pool)」リストから、テスト用に構成したエージェントを選択します。
    3. 必要に応じて、そのエージェントの「エージェントの仕様 (Agent Specification)」リストからエージェント仕様を選択します。
    4. 「Branch/tag」リストからブランチを選択します。
    5. 必要に応じて、「拡張オプション (Advanced Options)」ペインからタスク実行の変数と要求を追加します。
    6. 詳細ログ・ビューの「システム診断の有効化 (Enable system diagnostics)」チェック・ボックスを選択します。
    7. 「保存と実行 (Save and run)」をクリックします。

      「パイプラインの概要 (pipeline summary)」ページに、ジョブ実行の進行状況が表示されます。

Azure DevOps パイプラインで、テスト中のアプリケーションに対して、テストを実行しました。
  • 「パイプラインの概要 (pipeline summary)」ページで、ジョブを開くとタスク・ログを表示することができます。
  • Azure DevOps Project URLAzure DevOps PATTest Plan Name、および Test Case Name の値を指定した場合は、「テスト計画」をクリックしてテスト結果を表示できます。
  • テスト結果を表示するには、タスクをクリックして「タスク (Task)」ページを開く必要があります。

  • レポート URL にアクセスすると、いつでもテストの実行情報を参照できます。 レポート URL は、そのレポートが保管されている IBM DevOps Test Hub の URL になります。

    Test UIで、DevOps Test Hub URLが「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hubで構成されており、「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub > 「結果」で、「実行後に結果を公開」「常時」に設定されている場合、「タスク」ページのログには、対応するURLとともに、公開されたレポートの名前も表示されます。