「Microsoft Playwright Testing」を発表
マイクロソフト社は2023年8月22日、新サービス「Microsoft Playwright Testing」を発表しました。本サービスは、Microsoft Azureから「Playwright」を用いて、ウェブアプリケーションのエンドツーエンドのテストと自動化を可能にします。
異なるオペレーティングシステムとブラウザの組み合わせに対しても、クラウドリソースの活用により高い並列度でテストを進めることができます。
【参考】:Microsoft Apps on Azure Blog: Introducing Microsoft Playwright Testing service private preview 【参考】:Microsoft Aure
Microsoft Azureの概要
Microsoft Azureとは、マイクロソフト社が提供するクラウドコンピューティングサービスを指します。コンピューティングやコンテナサービス、AIなどをハイブリッドクラウドやマルチクラウド環境で実現します。
同社はソフトウェア開発環境の整備にも力をいれており、今回の「Microsoft Playwright Testing」は、ウェブアプリのテスト自動化と高品質化、デリバリーの迅速化が期待できます。
【参考】:Microsoft Azure
「Microsoft Playwright Testing」を利用するには
「Microsoft Playwright Testing」は、Microsoft Azureが「Playwright」を用いたテスト環境をマネージドサービスとして提供するものです。本サービスは、プライベートプレビュー版として提供され、利用するにはウェイティングリストへの登録が必要です。
【参考】:Join the waitlist for Microsoft Playwright Testing private preview
「Microsoft Playwright Testing」の発表内容と特徴
今回の発表は、同社が中心となって開発したテストフレームワークである「Playwright」を、クラウドコンピューティングサービスのMicrosoft Aureからマネージドサービスとして提供するというものです。
ここからは、「Microsoft Playwright Testing」の具体的な特徴を解説していきます。
【参考】:Microsoft Apps on Azure Blog: Introducing Microsoft Playwright Testing service private preview
テストスイートの実行時間を短縮
本サービスでは、ウェブアプリのエンドツーエンドのテストを自動化することができます。さまざまなオペレーティングシステムとブラウザが、期待通りに動作するか確認できます。
アプリが複雑化するとテスト工程に時間を要しますが、「Microsoft Playwright Testing」では、テストを多数の並列ブラウザに分散させ、テストスイート完了までの時間を短縮します。
複数のオペレーティングシステムとブラウザの組み合わせをサポート
複雑なアプリに加えて、さまざまなブラウザ、オペレーティングシステム、デバイスの組み合わせを簡単にテストすることが可能です。これらの組み合わせを個別に調査するには、ITインフラの準備やテスト期間の長期化が予想されます。
本サービスでは、クラウドのサービス選択やスケールの柔軟性を活用し、PCブラウザやモバイルブラウザのエミュレーションにより、テストを並行実行し、膨大なテスト範囲を短期間でカバーすることができます。
テストコードの変更が不要
本サービスでは、「Playwright」テストスイートとシームレスに統合されており、「Playwright」のテストコードを変更する必要はありません。数ステップの操作で、「Playwright」と「Microsoft Playwright Testing」が接続され、連携して並列テストを実行します。
複数のバージョンの「Playwright」をサポートしており、新しいバージョンがリリースされるたびに更新されます。これまでのように、テスト用インフラの管理の複雑さを気にせずに、アプリケーションテストに集中することができます。
Playwrightの概要
ここでは、「Microsoft Playwright Testing」に用いられるPlaywright自体について、解説していきます。
Playwrightは、マイクロソフトを中心に開発したウェブアプリのテストと自動化のフレームワークです。単一のAPIで、ChromiumやFirefox、WebKitのテストが可能です。Playwrightは、クロスブラウザウェブの自動化を可能にするために設計されており、機能と信頼性を高め、高速に実行します。
【参考】:Playwright 【参考】:GitHub: Microsoft Playwright
Playwrightの特徴
Playwrightは、ウェブアプリのテストの項目を網羅し、自動化を推進するフレームワークです。豊富な機能を持ち、クロスブラウザ、クロスプラットフォームのテスト環境を実現します。代表的な特徴は、次の通りです。
・抜け漏れのないテストを実現 アクション実行において、要素がアクション可能になるのを待ったりイベントを活用したりする仕組みを提供します。ウェブの動的な動作をテストするためには、アサーションを利用できます。実行時には、トレース、ビデオ、スクリーンショットなどで抜け漏れを防止します。
実現のために、Codegen、Playwright inspector、Trace Viewerなど、豊富なツールを提供します。パワフルなツールにより、非同期で高速なテスト処理をもたらします。
・トレードオフや制限からの開放 ブラウザは、さまざまなOrigin(オリジン)のウェブコンテンツを異なるプロセスで実行します。Playwrightは、最新のブラウザのアーキテクチャに対応し、テストをプロセス制限を受けずに実行することができます。
具体的には、フレームのテストあるいはシャドウ DOMの動作などのテストや、複数のタブやオリジン、ユーザにまたがるシナリオを、ユーザごとに異なるコンテキストでシナリオを作成し、実行することができます。
Playwrightの動作環境
Playwrightでは、ChromiumをベースとするGoogle Chromeや、Edge・Opera、WebKitを用いるSafariやiOS向けブラウザ、Firefox など、最新のレンダリングエンジンをすべてサポートしています。
プラットフォームは、Windows、Linux、macOS、GUIを持たないヘッドレスや組込みシステムなどで動作し、アクセスAPIは、TypeScriptやJavaScript、Python・.NET・Javaから利用することができます。
Google Chrome for AndroidとMobile Safariのネイティブなモバイルエミュレーションに対応し、クラウド環境でもサポートされます。
【参考】:Playwright Getting Started 【参考】:GitHub: Microsoft Playwright
Playwrightを使用して自動化とテストを行う
公式サイトでは、Playwrightを使用して自動化とテストを行う手順を掲載しています。Playwrightを使うには、Node.jsバージョン16以降が必要です。あらかじめNode.jsをインストールしておくと良いでしょう。
Playwrightのインストールは、“npm init playwright@latest”などで行います。インストール時には、TypeScriptかJavaScriptのどちらかを選択し、テストフォルダーを設定します。
テストを起動するには”npx playwright test”を実行します。最初にインストールされたサンプルの”example.spec.ts”を編集します。Edge向けにはEdgeの公式サイトを参考に、構成ファイルとなる”playwright.config.ts”を作成するのが良いでしょう。
テストをUIモードで起動する場合は、”npx playwright test --ui”を指定します。テスト結果のレポートは、”npx playwright show-report”で表示することができます。
【参考】:Playwright Getting Started 【参考】:Microsoft Edge: Playwright を使用してMicrosoft Edgeで自動化とテストを行う 【参考】:Node.js
「Microsoft Playwright Testing」はAzure利用者に朗報
Microsoft Azureは、ソフトウェア開発のプラットフォームとしても多くの利用者がいます。「Microsoft Playwright Testing」は、近年増加するウェブアプリのテストを効率的に自動化することができます。
今回の発表は、Microsoft Azure利用者にとって生産性向上をもたらす、プラスの効果が得られるでしょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから