クラシック エディターを使用して Azure Pipelines でテストを自動化する

この記事では、Azure DevOps サービスAzure Pipelines クラシック エディター を使用して、テスト スタジオで作成されたキャンバス アプリ テストを設定および実行する方法を説明します。

GitHub のパブリック プロジェクト - Microsoft/PowerAppsTestAutomation を使用して、次のことができます。

  • アプリケーションへのサインインの操作を自動化します。
  • ビルド エージェントでブラウザーを開き、一連のテスト ケースおよびスイートを実行します。
  • Azure DevOps パイプラインでテスト実行の状態を表示します。

注意

テスト スタジオ 機能はまだ実験段階であり、非運用アプリのテストを書き込むために使用することをお勧めします。 詳細については 実験的機能とプレビュー機能 を参照してください。

前提条件

開始する前に、次の手順を実行する必要があります。

ステップ 1 - PowerAppsTestAutomation プロジェクトをフォークする

フォーク はリポジトリのコピーです。 リポジトリをフォークすることによって、元のプロジェクトに影響を与えずに変更を加えることができます。

  1. GitHub にサインインします。

  2. microsoft/PowerAppsTestAutomation リポジトリに移動します。 代わりに microsoft/PowerAppsTestAutomation を検索して、リポジトリを選択することもできます。

    GitHub を検索する

  3. フォークを選択します。

    フォーク

  4. フォークする場所を選択します。

    フォーク アカウント

フォークされたリポジトリが使用できるようになりました。

ステップ 2 - テスト URL .json ファイルを作成する

テスト URL .json ファイルには、アプリを検証するためのテスト スイートおよびテスト ケースの URL が含まれます。 アプリ テスト スイートおよびテスト ケースの URL は、テスト スタジオで再生リンクをコピーする を選択することにより取得できます。

前の手順で作成したリポジトリで、サンプル ファイルである Samples/TestAutomationURLs.json を見つけることができます。

  1. リポジトリに新しい TestURLs.json ファイルを作成するか、または他のファイル名を使用します。
    ファイル名および場所は、ドキュメントの後半でパイプライン変数にマップされます。

  2. Samples/TestAutomationURLs.json ファイルからフォーマットをコピーします。

  3. アプリで検証するテストで、テスト URL セクションを更新します。

  4. 変更をリポジトリに確定します。

    JSON の更新

パイプラインの作成

  1. Azure DevOps インスタンスにサインインします。

  2. 既存のプロジェクトを選択するか、または新しいプロジェクトを作成します。

  3. 左側のメニューでパイプラインを選択します。

  4. パイプラインの作成を選択します。

    パイプラインの作成

  5. クラシック エディターを使用するを選択します。

    クラシック エディター

  6. ソースとして GitHub を選択します。

  7. 必要に応じて、OAuth を使用するかまたは個人用アクセス トークンを使用して、GitHub 接続を承認します。

    パイプライン - GitHub

  8. 必要に応じて、接続名を編集します。

  9. リポジトリ入力の右側から ... (省略記号) を選択します。

  10. GitHub にプロジェクトの名前を入力し、次に選択します

    リポジトリの選択

  11. 続行 を選択します。

  12. テンプレートの選択のスクリーンで、空のジョブを選択します。

    空のジョブ

  13. パイプラインを保存します。

パイプラインにタスクを追加する

新しいジョブ タスクを追加し、次の順序でパイプラインからテストを実行するようにタスクを構成します。

  1. PowerShell を使用してスクリーン解像度を構成します。

  2. PowerAppsTestAutomation ソリューションの NuGet パッケージを復元します。

  3. PowerAppsTestAutomation ソリューションを構築します。

  4. Google Chrome 用の Visual Studio テストを追加します。

  5. Mozilla Firefox 用の Visual Studio テストを追加します。

ステップ 1 - PowerShell を使用してスクリーン解像度を構成する

  1. エージェント ジョブ 1 の横の + を選択します。

  2. PowerShell を検索します。

  3. 追加を選択して、PowerShell タスクをジョブに追加します。

    PowerShell

  4. タスクを選択します。
    表示名をエージェント スクリーン解像度を 1920 x 1080 に設定、または類似したものに更新することもできます。

  5. スクリプトの種類としてインラインを選択して、スクリプト ウィンドウに次のように入力します。

    # Set agent screen resolution to 1920x1080 to avoid sizing issues with Portal  
    Set-DisplayResolution -Width 1920 -Height 1080 -Force
    # Wait 10 seconds  
    Start-Sleep -s 10
    # Verify Screen Resolution is set to 1920x1080  
    Get-DisplayResolution
    

    スクリプト

ステップ 2 - NuGet パッケージを復元する

  1. エージェント ジョブ 1 の横の + を選択します。

  2. NuGetを検索します。

  3. 追加を選択して、NuGet タスクをジョブに追加します。

  4. タスクを選択します。
    表示名を NuGet パッケージを復元する、または類似したものに更新することもできます。

  5. を選択します ソリューション、packages.config、または project.json へのパス構成フィールドの (省略記号)。

  6. PowerAppsTestAutomation.sln ソリューション ファイルを選択します。

  7. OK を選択します。

    NuGet パッケージ

ステップ 3 - PowerAppsTestAutomation ソリューションを構築する

  1. エージェント ジョブ 1 の横の + を選択します。

  2. Visual Studio ビルドを検索します。

  3. 追加を選択して、Visual Studio ビルド タスクをジョブに追加します。

  4. タスクを選択します。
    表示名を Power Apps テスト Automation ソリューションを構築する、または類似したものに更新することもできます。

  5. を選択します ソリューション構成フィールドの (省略記号)。

  6. PowerAppsTestAutomation.sln ソリューション ファイルを選択します。

  7. OK を選択します。

ステップ 4 - Google Chrome 用の Visual Studio テストを追加する

  1. エージェント ジョブ 1 の横の + を選択します。

  2. Visual Studio テストを検索します。

  3. 追加を選択して、Visual Studio テスト タスクをジョブに追加します。

  4. タスクを選択します。
    表示名を $(BrowserTypeChrome) から Power Apps テスト Automation テストを実行する、または類似したものに更新することもできます。

  5. テスト ファイル テキスト フィールドの既定のエントリを削除し、次を追加します。

    **\Microsoft.PowerApps.TestAutomation.Tests\bin\\Debug\Microsoft.PowerApps.TestAutomation.Tests.dll

  6. テスト フィルターの条件フィールドに TestCategory=PowerAppsTestAutomation を入力します。

  7. テスト ミックスには UI テストが含まれていますを選択します。

    Chrome

  8. を選択します 設定ファイル フィールドの (省略記号)。

  9. Microsoft.PowerApps.TestAutomation.Tests を展開し、patestautomation.runsettings ファイルを選択し、次に OK を選択します。

    設定を実行

  10. テスト実行パラメーターを上書きするフィールドに以下のものをコピーします。

    -OnlineUsername $(OnlineUsername) -OnlinePassword $(OnlinePassword) -BrowserType $(BrowserTypeChrome) -OnlineUrl $(OnlineUrl) -UsePrivateMode $(UsePrivateMode) -TestAutomationURLFilePath $(TestAutomationURLFilePath) -DriversPath $(ChromeWebDriver)
    

    注意

    これは、パイプラインの変数が構成された場所であり、上記の $(VariableName) のフォームで表されます。

  11. テスト実行タイトル フィールドに $(BrowserTypeChrome) から Power Apps テスト Automation テストを実行する、または類似したものを入力します。

    テストの実行

ステップ 5 - Mozilla Firefox 用の Visual Studio テストを追加する

  1. Chrome用の Visual Studio テストを追加するタスクを右クリックし、クローン タスクを選択します。

  2. タスクを選択して、次の領域を更新します。

    1. タイトル: $(BrowserTypeFirefox) から Power Apps テスト Automation テストを実行する

    2. テスト実行パラメーターを上書きする

      -OnlineUsername $(OnlineUsername) -OnlinePassword $(OnlinePassword) -BrowserType $(BrowserTypeFirefox) -OnlineUrl $(OnlineUrl) -UsePrivateMode $(UsePrivateMode) -TestAutomationURLFilePath $(TestAutomationURLFilePath) -DriversPath $(GeckoWebDriver)
      
    3. テストの実行タイトル: $(BrowserTypeFirefox) から Power Apps テスト Automation テストを実行する

パイプライン変数を構成する

ここで、前の手順 で追加したタスクの定義されたパイプライン変数を構成します。

  1. 変数タブを選択します。

  2. 追加を選択し、この手順を繰り返して次の変数を構成します。

変数名 変数値
BrowserTypeChrome Chrome
BrowserTypeFirefox Firefox
OnlineUrl https://make.powerapps.com
TestAutomationURLFilePath $(Build.SourcesDirectory)\<test URL file>.json
注意: これは、前の手順で作成したテスト URL .json ファイルです。
UsePrivateMode True
OnlineUsername アプリケーションにサインインするユーザー コンテキストの Azure Active Directory メール アドレスを入力します。 テストは、このユーザー アカウントのコンテキストで実行されます。
  1. 追加を選択し、変数名で OnlinePassword を入力します。

  2. ロック変数を確認して、この変数を秘密にします。

    変数

  3. パイプライン構成を保存します。

テストを実行して分析する

テストが正常に実行されているか検証するには、キューを選択し、次に実行を選択します。 ジョブが実行を開始します。

ジョブを実行

ジョブの実行中に、ジョブを選択して、実行中の各タスクの詳細な状態を表示します。

ジョブの詳細

ジョブが完了すると、高レベルのジョブの概要、およびエラーまたは警告を表示できます。 テスト タブを選択すると、実行したテスト ケースの特定の詳細を表示できます。

次の例は、Chrome ブラウザーを使用してテストを実行しているときに、少なくとも 1 つのテスト ケースが失敗したことを示しています。

Chrome - 失敗

RunTestAutomation テストを選択し、失敗したテスト ケースの詳細をより細かく確認します。 添付ファイル タブで、テスト実行の概要およびテスト スイートで失敗または合格したテスト ケースを見ることができます。

添付ファイル タブ

注意

テスト スイートを実行する場合、合格および失敗したテスト ケースの概要が表示されます。 テスト ケースを実行すると、可能な場合、トレース情報とともに失敗に関する特定の詳細が表示されます。

既知の制限

  • 多要素認証はサポートされていません。

  • Internet Explorer 11 および Microsoft Edge はサポートされていないブラウザーです。

  • テスト概要は、ブラウザーごとに 1 つのテスト結果を報告します。 テスト結果には、1 つ以上のテスト ケースまたはテスト スイートの結果が含まれます。

  • Azure Active Directory サインイン フロー以外の任意の認証プロセスは、PowerAppsTestAutomation ソリューションでサインイン プロセスのカスタマイズが必要です。

関連項目