Microsoftは米国時間9月30日、「Python」でテストを記述できる開発者向けツール「Playwright for Python」を発表した。Googleの「Chrome」、Chromiumベースの「Microsoft Edge」、Appleの「Safari」、Mozillaの「Firefox」で、ウェブアプリケーションのテストが行える。
PlaywrightはPython向けライブラリーになる。開発者はPythonコードでブラウザーを制御して、シングルページのウェブアプリや「Progressive Web Apps」(PWA)のクロスブラウザーテストを自動化できる。
Playwright for Pythonライブラリーはプレビューとして提供されており、「Windows」「Linux」「macOS」をまたがるウェブアプリのテストを高速化できるように設計されている。また異なる画面サイズ、タイムゾーン、ウェブパーミッションを持つスマートフォンをエミュレートして、モバイルウェブブラウザーでもテストが行える。
一連のアプリケーションプログラミングインターフェース(API)を提供し、Chromium、Firefox、WebKitベースのブラウザーを自動化する。開発者はPlaywright APIを使い、Pythonコードを記述して、新しいブラウザーページを作成したり、URLにアクセスしてページ上の要素の操作性を確認したりできる。
PlaywrightのプログラムマネージャーであるArjun Attam氏は「Playwright APIを使えば、全ての最新のウェブブラウザー上で実行されるエンドツーエンドのテストを作成できる。既存のテストツールよりも高速で、信頼性と能力に優れた自動化を提供できる」と説明した。
「エンドツーエンドテストの自動化は、かつてないほど重要だ。開発チームはより短期間で出荷しており、多くのデバイスで動作するアプリを構築するようになったからだ。このように、スピードと対象となるウェブの増加が、テストプロセスに大きなプレッシャーをかけているため、自動化は非常に重要だ」(同氏)
Playwrightは現在、デスクトップブラウザーからのモバイルエミュレーションしか対応していないが、MicrosoftのGitHubページには、Playwrightのための未解決のIssueとして挙げられており、実際のモバイルブラウザーでのテストにも対応するように投票できる。
Playwrightは「pytest」プラグインも用意されているので、「Django」のウェブアプリでの動作をテストできるほか、Djangoに組み込まれているテストツールも利用可能だ。
Playwright for Pythonのリリースはまだ初期段階にあり、2020年初めに提供した「Playwright for JavaScript」と、MicrosoftのJavaScriptのスーパーセットである「TypeScript」をもとに、Node.jsライブラリーとして発展させたものになる。
自動テストで重要なことだが、Playwrightはウェブアプリのユーザーインターフェース(UI)の準備が整うまで、自動的に待機する機能を備えている。例えば、ボタンをクリックするアクションなどは、それを実行できるようになってから機能テストを行う。また、ログインフォームを使ってウェブアプリにログインできるかも、自動テストが行える。
Playwrightは、ネットワークトラフィックを監視して変更するための標準インターフェースも提供しているので、ページがダウンロードした添付ファイルの処理や、ユーザーがボタンをクリックした後のネットワークの応答などもテストできる。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。