Azure DevOps Server を使用した並列テストのタスクのトリガ

GUI Web テストとモバイル・テストのみ

このトピックでは,並列テスト・タスクをトリガして,Azure DevOps Server(旧称 TFS)から GUI Web テストと GUI モバイル・テストを並列に実行する方法について説明します。

注: このトピックでは,UFT One Azure DevOps extension バージョン 25.2.* を使った作業について説明します。最新の機能を活用するため,既存のタスクのバージョンを 25.2.* に更新することをお勧めします。この拡張機能バージョンを使用する場合は,ADM-TFS-Extension GitHub リポジトリから,対応する UFT.zip ファイルをインストールしたことを確認してください。

手順 1:パイプラインを作成する

注: TFS を使用している場合は,この手順をスキップしてください。

Azure DevOps サーバで:

  1. 空のジョブ・テンプレートを使用して,ビルド・パイプラインまたはリリース・パイプラインを作成します。

    注:ビルド・パイプラインは,リリース・パイプラインを明示的に作成しない場合に作成されるパイプライン・タイプです。

  2. テストを実行するエージェントが含まれているエージェント・プールを選択します。

  3. パイプライン変数に,UFT_LAUNCHER 変数を追加します。変数の値には,UFTWorking フォルダへの完全パスを指定します。

詳細については,Microsoft Azure のドキュメントを参照してください。

先頭に戻る

手順 2:パイプラインにタスクを追加する

OpenText Functional Testing タスクを追加し,ビルド順序の適切な位置にステップを配置します。

注: リリース・パイプラインを使用している場合は,関連するステージにタスクを追加してから,ビルドにステップを配置します。

  1. [Task catalog]領域で,[Test]タブを選択します。利用可能なすべてのテスト・タスクのリストが表示されます。

  2. [Test]タブから,[OpenText™ Functional Testing Parallel Test Run]タスクを選択し,[Add]をクリックします。ビルド・パイプラインの一部として,新しい空のタスクが追加されます。

    注: リリース・パイプラインを使用している場合は,タスクはデプロイメント・プロセスの一部として追加されます。

先頭に戻る

手順 3:ビルド・ステップを設定する

ビルド・ステップについて,次の情報を入力します。

  1. 表示名を指定します。

    Azure DevOps Server CI システムの標準設定では,設定済みの記述子がタスクに使用されます。このフィールドを指定して,ステップにわかりやすい名前を付けます。

  2. テスト・タイプを選択します。

    選択したテスト・タイプによって,ページ上のコントロールとフィールドは異なります。

  3. Tests]フィールドに,テスト,テスト・バッチ・ファイル,または実行するテストが格納されたフォルダを入力します。複数のテストの場合,テストのパス,名前,またはテスト結果のパスをコンマで区切る必要があります。

  4. GUI Web テスト・タイプの場合,テストで使用するすべてのブラウザを選択します。

  5. GUI Mobile テスト・タイプの場合,次のフィールドを指定します。

    必須フィールド説明
    Devices

    デバイスのリストを指定します。各行には,1 つのデバイスの情報を含める必要があります。

    デバイスごとに,次のフィールドを定義します。

    DeviceIDManufacturerModelOSTypeOSVersion

    フィールド値を取得するには,Get Functional Testing Lab Resources タスク(旧称 UFT Mobile Get Resources)を実行します。

    デバイスに対して DeviceID の値が指定されている場合,他のフィールドは無視されます。

    例:

    DeviceID: "123456789", Manufacturer: "Samsung", Model: "SM-G920F", OSType: "ANDROID", OSVersion: "7.0"

    DeviceID: "123456788", Manufacturer: "Samsung", Model: "SM-G920A", OSType: "ANDROID", OSVersion: "7.5"

    ServerOpenText Functional Testing Lab サーバのアドレス(形式:http[s]://<サーバ名>:<ポート>)。
    Authentication type

    OpenText Functional Testing Lab への接続に使用する認証モードを選択します。

    • Basic authentication:ユーザ名とパスワードを使用して認証します。

    • Access key authentication:OpenText Functional Testing Lab から受け取ったアクセス・キーを使用して認証します。

    User name と Password:Basic authentication]を選択した場合は,OpenText Functional Testing Lab サーバのログイン資格情報を入力します。

    Access key:Access key authentication]を選択した場合は,OpenText Functional Testing Lab から受け取ったアクセス・キーを入力します。

    Use proxy settings

    プロキシを使用して接続する場合は,次の情報を入力します。

    Proxy Server:プロキシ・サーバのアドレス(形式:<プロキシ・サーバ名>:<ポート>)。

    Use proxy credentials:プロキシ・サーバに認証が必要な場合に選択します。

    Proxy user name and password:プロキシ・サーバによる認証に使用される資格情報。

    SSL enabled

    OpenText Functional Testing Lab 接続の SSL を有効にするかどうかを指定します。

    注:このオプションは,OpenText Functional Testing Lab サーバが SSL 経由で通信を行うように設定されている場合にのみ選択してください。

  6. [Extensions]タブでレポートに使用されるタイムスタンプ・フィールドの値の形式を定義します。

    標準設定値は yyyy- MM-dd HH:mm:ss です。

  7. テストの開始または実行に問題がある場合に待機する時間(秒単位)を指定します。フィールドを空白のままにすると,タイムアウトは発生しません。

  8. 失敗したテスト・ステップに関する情報を提供するレポートを生成するかどうかを選択します。実行後,レポートは[Extensions]タブにあります。

別の方法:バッチ・ファイルの使用

別の方法として,テストとそのパラメータのリストを含むバッチ・ファイルを示します。

  • 複数のテストを指定するか,同じテストをパラメータを変えて複数回指定します。
  • reportPath パラメータを使用して,テスト結果のパスを定義します。

バッチ・ファイルは,拡張子を .mtbx にして,次の構文を使用します。

<Mtbx>
 <Test name="test1" path="c:\tests\APITest1">
 <Parameter name="A" value="abc" type="string"/>
 ....
 </Test>
 <Test name="test2" path="c:\tests\test2">
  <Parameter name="p1" value="123" type="int"/>
  <Parameter name="p4" value="123" type="float"/>
   ....
 </Test>
 <Test name="test3" path="c:\tests\APITest3" reportPath="c:\reports\APITest3">
</Mtbx>

先頭に戻る

手順 4:テスト結果を Azure Storage の場所にアップロードする

OpenText Functional Testing の結果を Azure Storage にアップロードすると,テストの実行後に Azure DevOps ポータルから結果にアクセスできます。

Azure Storage をテスト結果用にセットアップで説明されている手順を実行したことを確認します。

次に,Run Using Parallel Runner ビルド・ステップで次のオプションを入力します。

オプション
Do you want to upload the Functional Testing report to the storage account?

Yes]を選択します。

Artifacts to upload

html 実行結果レポートのみをアップロードするか,すべての OpenText Functional Testing 結果ファイルのアーカイブをアップロードするか,またはその両方をアップロードするかを選択します。

Report file name

パイプライン名とビルド番号に基づいた標準設定のファイル名をそのまま使用するか,任意の名前を入力します。

先頭に戻る

手順 5:CI システムの制御オプションを設定する

次のようなビルド・ステップの制御オプションを設定します。

オプション説明
Enabledステップをこのビルドの一部として実行するかどうかを指定します。
Continue on errorこのステップでエラーが発生した場合に,ビルドを停止するか,続行するかを CI システムに指示します。

先頭に戻る

手順 6:パイプラインを設定する

パイプラインを実行するように設定します。

ビルド・パイプライン:パイプラインを保存してキューに格納します。

リリース・パイプライン:リリースを作成してパイプラインをデプロイします。

パイプラインが実行されると,テストは追加したタスクの一部として実行されます。

先頭に戻る

手順 7:並列実行結果を表示する

テストの実行後,[Extensions]タブで実行結果を表示できます。

ビジュアル・レポート

実行結果の[Extensions]タブに,次の要素が含まれるレポートが表示されます。 

  • [Run Summary]に,実行したテストの数および各ステータスの割合が表示されます。

  • [Functional Testing Report]セクションには,各テストのテスト名,テスト・タイプ,ブラウザ・タイプ/デバイス情報,テストの実行状態が表示されます。また,OpenText Functional Testing のレポートとアーカイブが Azure Storage にアップロードされている場合は,そのリンクも表示されます。

  • Generate 'Failed Tests' report]オプションを選択した場合は,[Failed Tests]セクションに,各テストの失敗したステップの詳細な内訳が表示されます。

注:  

  • リリース・パイプラインを使用している場合,これらの結果はステージ・レベルで利用できます。

  • テスト実行の途中でジョブを中止すると,[Extensions]タブが表示されないことがあります。[Extensions]タブが利用可能で,[Generate 'Failed Tests' report]オプションを選択した場合でも,[Failed Tests]セクションは表示されません。

実行結果ファイルの取得

  • 失敗結果の詳細は,UFTWorking/res/Report_<ビルド実行番号> フォルダにある junit_report.xml ファイルに JUnit 形式で保存されます。

  • OpenText Functional Testing html レポートとアーカイブ・ファイルが Azure Storage にアップロードされている場合は,ストレージ・コンテナでアクセスできます。

  • テスト実行の途中でジョブを中止すると,ジョブが停止するまでに実行されたすべてのテストの結果が,%UFT_LAUNCHER%\res\Report_###\ フォルダの Results###.xml ファイルに保存されます。

注: 並列テスト実行では,デバイスやブラウザの設定が正しくないテストは実行されず,実行結果には,パイプラインで実行されたテストの結果のみが含まれます。

先頭に戻る