Azure DevOps Server を使用した並列テストのタスクのトリガ
GUI Web テストとモバイル・テストのみ
このトピックでは,並列テスト・タスクをトリガして,Azure DevOps Server(旧称 TFS)から GUI Web テストと GUI モバイル・テストを並列に実行する方法について説明します。
注: このトピックでは,UFT One Azure DevOps 拡張機能 バージョン 5.* を使った作業について説明します。最新の機能を活用するため,既存のタスクのバージョンを 5.* に更新することをお勧めします。この拡張機能バージョンを使用する場合は,ADM-TFS-Extension GitHub リポジトリから,対応する UFT.zip ファイルをインストールしたことを確認してください。
手順 1:パイプラインを作成する
注: TFS を使用している場合は,この手順をスキップしてください。
Azure DevOps Server で,次の手順を実行します。
空のジョブ・テンプレートを使用して,ビルド・パイプラインまたはリリース・パイプラインを作成します。
注:ビルド・パイプラインは,リリース・パイプラインを明示的に作成しない場合に作成されるパイプライン・タイプです。
テストを実行するエージェントが含まれているエージェント・プールを選択します。
パイプライン変数に,UFT_LAUNCHER 変数を追加します。変数の値には,UFTWorking フォルダへの完全パスを指定します。
詳細については,Microsoft Azure のドキュメントを参照してください。
手順 2:パイプラインにタスクを追加する
UFT One タスクを追加し,ビルド順序の適切な位置にステップを配置します。
注: リリース・パイプラインを使用している場合は,関連するステージにタスクを追加してから,ビルドにステップを配置します。
[Task catalog]領域で,[Test]タブを選択します。利用可能なすべてのテスト・タスクのリストが表示されます。
[Test]タブで[UFT One Parallel Test Run]タスクを選択し,[Add]をクリックします。ビルド・パイプラインの一部として,新しい空のタスクが追加されます。
注: リリース・パイプラインを使用している場合は,タスクはデプロイメント・プロセスの一部として追加されます。
手順 3:ビルド・ステップを設定する
ビルド・ステップについて,次の情報を入力します。
表示名を指定します。
Azure DevOps Server CI システムの標準設定では,設定済みの記述子がタスクに使用されます。このフィールドを指定して,ステップにわかりやすい名前を付けます。
テスト・タイプを選択します。
選択したテスト・タイプによって,ページ上のコントロールとフィールドは異なります。
[Tests]フィールドに,テスト,テスト・バッチ・ファイル,または実行するテストが格納されたフォルダを入力します。複数のテストの場合,テストのパス,名前,またはテスト結果のパスをコンマで区切る必要があります。
GUI Web テスト・タイプの場合,テストで使用するすべてのブラウザを選択します。
GUI Mobile テスト・タイプの場合,次のフィールドを指定します。
Devices デバイスのリストを指定します。各行には,1 つのデバイスの情報を含める必要があります。
デバイスごとに,次のフィールドを定義します。
DeviceID,Manufacturer,Model,OSType,OSVersion
フィールドの値を取得するには,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"
Server Digital Lab(UFT Mobile) サーバのアドレス(形式:http[s]://<サーバ名>:<ポート>)。 Authentication type Digital Lab(UFT Mobile) への接続に使用する認証モードを選択します。
Basic authentication:ユーザ名とパスワードを使用して認証します。
Access key authentication:Digital Lab(UFT Mobile) から受け取ったアクセス・キーを使用して認証します。
[Basic authentication]を選択した場合:
User name と Password:Digital Lab(UFT Mobile) サーバのログイン資格情報を入力します。
Tenant Id:Digital Lab(UFT Mobile) サーバのテナント ID を入力します。
[Access key authentication]を選択した場合:
Access key:Digital Lab(UFT Mobile) から受け取ったアクセス・キーを入力します。
Use proxy settings:プロキシを使用した接続を選択します。
Proxy Server:プロキシ・サーバのアドレスを,<プロキシ・サーバ名>:<ポート> の形式で指定します。
Use proxy credentials:特定のアカウントを使用して Digital Lab(UFT Mobile) サーバに接続できるようにします。
プロキシ・ユーザ名とパスワード:[Use proxy credentials]が選択されている場合に,Digital Lab(UFT Mobile) サーバへの接続に使用される資格情報です。
SSL enabled Digital Lab(UFT Mobile) 接続の SSL を有効にするかどうかを指定します。
注:このオプションは,Digital Lab(UFT Mobile) サーバが SSL 経由で通信を行うように設定されている場合にのみ選択してください。
[Extensions]タブでレポートに使用されるタイムスタンプ・フィールドの値の形式を定義します。
標準設定値は yyyy- MM-dd HH:mm:ss です。
テストの開始または実行に問題がある場合に待機する時間(秒単位)を指定します。フィールドを空白のままにすると,タイムアウトは発生しません。
失敗したテスト・ステップに関する情報を提供するレポートを生成するかどうかを選択します。実行後,レポートは[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 の場所にアップロードする
UFT One の結果を Azure Storage にアップロードすると,テストの実行後に Azure DevOps ポータルから結果にアクセスできます。
Azure Storage を UFT One テスト結果用にセットアップで説明されている手順を実行したことを確認します。
次に,UFT One Parallel Test Run ビルド・ステップで次のオプションを入力します。
Do you want to upload the UFT report to the storage account? | [Yes]を選択します。 |
Artifacts to upload | html 実行結果レポートのみをアップロードするか,すべての UFT One 結果ファイルのアーカイブをアップロードするか,またはその両方をアップロードするかを選択します。 |
Report file name | パイプライン名とビルド番号に基づいた標準設定のファイル名をそのまま使用するか,任意の名前を入力します。 |
手順 5:CI システムの制御オプションを設定する
次のようなビルド・ステップの制御オプションを設定します。
Enabled | ステップをこのビルドの一部として実行するかどうかを指定します。 |
Continue on error | このステップでエラーが発生した場合に,ビルドを停止するか,続行するかを CI システムに指示します。 |
手順 6:パイプラインを設定する
パイプラインを実行するように設定します。
ビルド・パイプライン:パイプラインを保存してキューに格納します。
リリース・パイプライン:リリースを作成してパイプラインをデプロイします。
パイプラインが実行されると,UFT One テストは追加したタスクの一部として実行されます。
手順 7:並列実行結果を表示する
テストの実行後,[Extensions]タブで実行結果を表示できます。
ビジュアル・レポート
実行結果の[Extensions]タブに,次の要素が含まれるレポートが表示されます。
[Run Summary]に,実行したテストの数および各ステータスの割合が表示されます。
[UFT レポート]セクションには,各テストのテスト名,テスト・タイプ,ブラウザ・タイプ/デバイス情報,テストの実行状態が表示されます。また,UFT One のレポートとアーカイブが Azure Storage にアップロードされている場合は,そのリンクも表示されます。
[Generate 'Failed Tests' report]オプションを選択した場合は,[Failed Tests]セクションに,各テストの失敗したステップの詳細な内訳が表示されます。
注:
リリース・パイプラインを使用している場合,これらの結果はステージ・レベルで利用できます。
テスト実行の途中でジョブを中止すると,[Extensions]タブが表示されないことがあります。[Extensions]タブが利用可能で,[Generate 'Failed Tests' report]オプションを選択した場合でも,[Failed Tests]セクションは表示されません。
実行結果ファイルの取得
失敗結果の詳細は,UFTWorking/res/Report_<ビルド実行番号> フォルダにある junit_report.xml ファイルに JUnit 形式で保存されます。
UFT One html レポートとアーカイブ・ファイルが Azure Storage にアップロードされている場合は,ストレージ・コンテナでアクセスできます。
テスト実行の途中でジョブを中止すると,ジョブが停止するまでに実行されたすべてのテストの結果が,%UFT_LAUNCHER%\res\Report_###\ フォルダの Results###.xml ファイルに保存されます。
注: 並列テスト実行では,デバイスやブラウザの設定が正しくないテストは実行されず,実行結果には,パイプラインで実行されたテストの結果のみが含まれます。