SAKURUG TECHBLOG

Microsoft Playwright Testingのすすめ

timestampauthor-name
Tomomitsu

Microsoft Playwright Testingとは?

Microsoft Playwright TestingはPlaywrightテスト向けのフルマネージドサービスです。エンドツーエンドのテストを自動化してChromeやFirefoxなど様々なWebブラウザ上でWebアプリケーションが期待通りに動作することを確認できます。

Playwrightのテストコードを変更したりツール設定を変更することなくテストをクラウド上で実行できます。通常、Playwrightの同時テスト実行数は実行するホストのCPUコア数の半分が推奨されますが、Microsoft Playwright Testingでは大規模に並行処理を実施することができます。その結果テストを非常に短時間で終了させることができます。

執筆時点(2024/7/26)Microsoft Playwright TestingはPreview機能です。

プレビュー期間中、並列ワーカー数は最大50です。

特徴

並列リモートブラウザを使用したテストの高速化

テスト対象のアプリケーションが大きくなればテストも複雑になり、そしてテストの数も多くなります。それに応じて、テストの完了時間も長くなりがちです。しかし、Microsoft Playwright Testingを使用することによってテストの完了時間を大規模に並列実行することによって大幅に短縮できます。

複数のOSとブラウザで一貫性のあるテストを行う

昨今のWebアプリケーションは様々なOS、たとえばWindowsやmacOSやAndroid、iOSそれにGoogle ChromeやMicrosoft Edge、Firefoxなどのブラウザで完璧に動作する必要があります。こういった環境でしかも絶え間なくアップデートを繰り返してるなかで新旧のブラウザで同時にテストを行うことが可能です。

CIワークフローに統合する

これまで、CIワークフローでPlaywrightを実行していたのと同様に、構成情報にアクセストークンとサービスエンドポイントを渡すことでMicrosoft Playwright Testingで実行できます。先に書いたとおり、大規模に並列実行することでCIワークフローの大幅な時間短縮を実現できます。

Microsoft Playwright Testingを試す

今回は、C#版のPlaywrightで試してみました。TypeScript版でもこちらを参考にテスト実行可能と思います。

前提:Microsoft Playwright Testingワークスペースが作成済みであること、C#のPlaywrightプロジェクトが作成済みでローカルで動作する状態であること

  1. Playwright portalからアクセストークンを取得してメモする
  2. Playwright portalからエンドポイントを取得してメモする

以下の構成情報にアクセストークンを設定する

PLAYWRIGHT_SERVICE_ACCESS_TOKEN

以下の構成情報にエンドポイントを設定する

PLAYWRIGHT_SERVICE_URL

以下のコマンドでテストを実行します。最高50まで並列実行可能です。

dotnet test --NUnit.NumberOfTestWorkers=20

現在できないこと

Playwrightの機能としてはスクリーンショット、動画、トレースログなどを取得する機能がありますが、Microsoft Playwright Testingにそれらを保存するストレージがありません。これらのエビデンスが必要な場合は今まで通りMicrosoft Playwright Testingを使わない方法でテストを実行してください。

記事をシェアする

ABOUT ME

author-image
Tomomitsu
2017年2月中途入社。業務ではAzureへのモダナイゼーションを行っています。Microsoft MVP for Developer Technologies 2022 -