SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

クラウドE2Eテストを実現するMicrosoft Playwright Workspaces入門

「Microsoft Playwright Workspaces」でE2Eテストの課題を解決

クラウドE2Eテストを実現するMicrosoft Playwright Workspaces入門 第1回

 本連載では全4回に分けて、Microsoftが提供するクラウド型のEnd-to-End(以降「E2E」)テストサービス「Microsoft Playwright Workspaces」について紹介します。

はじめに

 Webアプリケーションの開発において、ユーザーが実際にブラウザで操作する流れを自動化して品質を確かめるE2Eテストは、近年ますますその重要性を増しています。

 一方で、テスト対象とするブラウザやOSの組み合わせが増えるほどテストの実行時間が肥大化し、CI/CDパイプライン全体のボトルネックになりがちです。「Playwright Workspaces」は、こうしたE2Eテストの課題をクラウド側のスケールで解決するMicrosoftのマネージドサービスです。

 なお本連載執筆時点(2026年4月)において、かつて同種のサービスとして提供されていた「Microsoft Playwright Testing(MPT)」は2026年3月8日に廃止されており、後継サービスとなるAzure App Testing配下の「Playwright Workspaces」がGA(一般提供)されています。本連載では一貫してこの後継サービスを題材として扱います。

対象読者

  • Microsoft AzureなどクラウドサービスでWebアプリを運用している方
  • Playwrightや他のE2Eテストツールに興味があり、より大規模に活用したい方
  • CI/CDパイプラインへのE2Eテスト組み込みを検討している方
  • Node.js/TypeScriptでのWeb開発経験のある方

E2Eテストの課題とPlaywright Workspacesが解決するもの

 WebアプリケーションのE2Eテストでは、実際のブラウザを起動してユーザー操作を再現します。これにより、APIテストや単体テストでは捉えきれない画面遷移やJavaScriptの挙動、レスポンシブデザインの破綻などを検出できます。アプリの品質を「ユーザーが触れる目線」で確認する手段として、E2Eテストは現代のWeb開発に不可欠なものとなっています。

 一方で、E2Eテストには実行環境にまつわる悩ましい課題があります。代表的なのは次の3つの課題です。

ブラウザとOSの組み合わせ爆発

 Webアプリは、Chromium系(ChromeやEdge)、Firefox、WebKit(Safari)といった複数のブラウザエンジンで動作します。さらにモバイル端末特有の表示やタッチ操作も検証しようとすると、Android Chrome、iOS Safariも対象に含めることになります。これらをホストOS(WindowsとLinuxの両方)でテストしようとすると、組み合わせ数は容易に十数パターンを超えます。すべての組み合わせを毎回真面目に検証していては、開発速度に追いつけません。

実行時間の肥大化

 組み合わせが増えればテストの所要時間も比例して増えていきます。CIパイプラインでテスト完了まで30分以上かかれば、開発者はプルリクエストを出してから結果を待ち続けることになり、開発サイクル全体のリズムが大きく損なわれます。フィードバックの遅さは品質改善のサイクルそのものを鈍化させます。

セルフホスト環境の運用負荷

 ローカルでは動くテストが、CIエージェント上では不安定になる現象もよく見られます。ブラウザのバージョン管理、フォントの差異、ヘッドレスモード固有の挙動、タイムアウト設定など、安定実行のための環境調整は決して軽い作業ではありません。エージェントの台数を増やせば並列度は上がりますが、その管理コストもまた重くのしかかります。

 Playwright Workspacesは、これらの課題に対してクラウド側で大規模にホストされたブラウザ環境を提供することで解決を図ります。テストの実装自体はOSSのPlaywrightをそのまま使い、実行先のブラウザだけをクラウドに切り替える、というのがサービスの基本的な発想です。

 クラウド側で多数のブラウザを並列起動できるため、ローカルでは1時間かかっていたテスト群が数分で完了するといったケースも珍しくありません。エージェント環境の管理はサービス提供側に委ねられるため、利用者はテストの中身づくりに集中できます。

OSS PlaywrightとPlaywright Workspacesの関係

 ここで、テストフレームワーク本体である「OSS Playwright」と、本連載で扱う「Playwright Workspaces」の関係を整理しておきましょう。両者の関係を正しく理解しておくことは、本サービスの導入判断や活用方針を考える上で重要です。

OSS Playwrightとは

 OSS Playwright(playwright.dev)は、Microsoftが開発を主導しているオープンソースのブラウザ自動化フレームワークです。Node.js(TypeScript/JavaScript)、Python、Java、.NETから利用でき、Chromium、Firefox、WebKitの3種のブラウザエンジンを単一のAPIで制御できます。

 E2Eテスト向けのテストランナー(@playwright/test)も同梱されており、次の現代的な機能を備えています。

Locator API

 ページ上の要素を指し示すためのオブジェクト指向の仕組みです。要素を取得した時点でDOMに紐付ける旧来型のセレクタと異なり、実際に操作する直前に都度要素を解決するため、画面遷移や再レンダリングで要素が置き換わっても壊れにくいテストを書けます。

Auto-wait

 要素をクリックしたり値を取得したりする際に、その要素が「操作可能な状態」になるまでPlaywright側が自動で待機してくれる仕組みです。これにより、明示的な「sleep」や「waitForSelector」を書かなくても安定したテストを実装でき、Flakyテスト(信頼性の低いテスト)の大きな原因であるタイミング問題を低減できます。

Trace Viewer

 テスト実行中の状態(各ステップのDOMスナップショット、ネットワーク通信、コンソールログなど)を時系列に沿って可視化するWebベースのツールです。特にCIで発生した失敗の再現・原因調査において、ローカル環境で再実行しなくても失敗の瞬間を克明に確認できるため、デバッグ効率が大きく向上します。

 OSS Playwrightは無償で利用できるため、ローカルマシンや自前のCIエージェント上でテストを実行する分には追加コストはかかりません。一方で、ブラウザの並列実行数はそのマシンのCPUやメモリに制約され、複数OS/複数ブラウザの大規模テストを高速に流したい場合は、自分でテスト用エージェントの群を組む必要があります。

Playwright Workspacesの位置づけ

 Playwright Workspacesは、OSS Playwrightの「実行基盤」をクラウド側に肩代わりさせるマネージドサービスです。テストコード自体はOSS Playwrightの内容をそのまま書き、「playwright.config.ts」ファイルに小さな設定を加えるだけで、テスト実行時にクラウド上のブラウザを利用できるようになります。既存のPlaywrightプロジェクトはほぼ無改修で対応できる、というのが大きな利点です。

 両者の違いを整理すると、以下の表の通りです。

表:OSS PlaywrightとPlaywright Workspacesの比較
項目 OSS Playwright Playwright Workspaces
並列ワーカー数 ローカルCPU依存(4~8) 数十並列まで容易に拡張
対応OS 実行マシンのOSに依存 Linux/Windowsを選択可能
モバイルエミュレーション 対応 対応(大規模並列が利く)
テスト結果の可視化 ローカルのHTMLレポート Azureポータルで集約
コスト 無償 従量課金(実行分単位)
運用負荷 CIエージェント管理が必要 サービス側にお任せ

 並列ワーカー数とOS選択の柔軟性、テスト結果の集約機能が、Playwright Workspacesの優位点となります。コストと引き換えに、運用負荷と実行時間を大きく削減できると捉えると分かりやすいでしょう。

 重要なポイントとして、OSSとWorkspacesは「置き換え」の関係ではなく「重ね掛け」の関係である点を押さえておきましょう。日々の開発時にはローカルでOSSを使ってテストを書きながら確認し、CIではWorkspaces側で大規模並列実行する、という併用が現実的な利用パターンとなります。OSSで書いたテスト資産はそのまま流用できるので、二重に実装する必要はありません。

次のページ
Azure App Testingとは

この記事は参考になりましたか?

この記事の著者

WINGSプロジェクト 秋葉 龍一(アキバ リュウイチ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/24203 2026/05/22 09:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング