Playwrightとは何か
Playwrightは、Microsoftが開発したNode.jsライブラリで、Chromium、Firefox、およびWebKitのブラウザを自動化するためのものです. これは、開発者がJavaScriptコードを書いて新しいブラウザページを作成し、URLに移動し、ページ上の要素と対話するために使用できるAPIを提供します.
Playwrightは、モダンなWebアプリケーションの信頼性の高いエンドツーエンドテストとクロスブラウザテストを提供する強力なテストツールです. これは、開発者が複数のタブ、複数の起源、および複数のユーザーを含むシナリオをテストできるようにします.
Playwrightは、2020年にリリースされ、その直感的な構文とブラウザとの柔軟な対話能力により、他のJavaScriptライブラリを凌駕し、人気を博しています. さらに、Playwrightのテストスクリプトの実行速度は、他の自動化フレームワークを上回っています.
Playwrightは、ヘッドレスブラウザをデフォルトで起動します. ヘッドレスブラウザは、UIを表示しないコマンドラインのみで使用できます. ただし、Playwrightはフル(ヘッドレスでない)Microsoft Edgeの実行もサポートしています.
以上のような特性により、PlaywrightはWebオートメーションにおいて非常に有用なツールとなっています.
TypeScriptとの組み合わせ
Playwrightは、TypeScriptをネイティブでサポートしています. つまり、テストをTypeScriptで書くだけで、Playwrightはそれらを読み取り、JavaScriptに変換して実行します. ただし、Playwrightは型をチェックせず、重大でないTypeScriptのコンパイルエラーがあってもテストを実行します.
TypeScriptとPlaywrightを組み合わせることで、開発者は静的型付けの利点を享受しながら、ブラウザの自動化とエンドツーエンドテストを行うことができます. TypeScriptは、コードの品質を向上させ、バグを早期に検出し、コードの理解を深めるのに役立ちます.
Playwrightは、TypeScriptのコンパイラオプションの一部をサポートしています. これには、paths
とbaseUrl
が含まれます. これらのオプションを使用すると、開発者はテストディレクトリ内で独自のtsconfig.json
を設定し、テストに特化した設定を行うことができます.
また、Playwrightはtsconfig.json
で宣言されたパスマッピングもサポートしています. これにより、開発者はテスト内でマップされたパスを使用してインポートすることができます.
以上のように、TypeScriptとPlaywrightの組み合わせは、開発者がブラウザの自動化とエンドツーエンドテストをより効率的に、かつ安全に行うための強力なツールとなります.
Playwright with TypeScript GitHub projects examples
プロジェクトのセットアップ
PlaywrightとTypeScriptを組み合わせたプロジェクトのセットアップは以下の手順で行います:
-
新しいディレクトリの作成: まず、プロジェクトを格納する新しいディレクトリを作成します.
-
Node.jsとnpmのインストール: Node.jsとnpmがまだインストールされていない場合は、これらをインストールします.
-
Playwrightのインストール: 次に、以下のコマンドを実行してPlaywrightをインストールします:
bash
npm install --save-dev playwright -
TypeScriptのインストール: TypeScriptも同様にインストールします:
bash
npm install --save-dev typescript -
プロジェクトの初期化:
npx vasu-playwright-cli init
コマンドを実行すると、PlaywrightとTypeScriptのフレームワークテンプレートとサンプルテストがセットアップされます. -
依存関係の追加: 必要に応じて、テストランナーやその他の依存関係を追加します.
-
テストの実行: 最後に、以下のコマンドを実行してテストを実行します:
bash
npx playwright test
以上の手順で、PlaywrightとTypeScriptを組み合わせたプロジェクトのセットアップが完了します..
テストの実行
PlaywrightとTypeScriptを組み合わせたテストの実行は以下の手順で行います:
-
テストの実行:
npx playwright test
コマンドを実行すると、テストが実行されます. これにより、設定されたすべてのブラウザでテストが実行されます. テストはデフォルトでヘッドレスモード(ブラウザウィンドウが開かず、結果がターミナルに表示されるモード)で実行されます. -
UIモードでのテスト実行: UIモードを使用してテストを実行することも可能です. UIモードでは、テストの各ステップを順に確認し、各ステップの前後で何が起こったかを視覚的に確認できます. UIモードを使用するには、
npx playwright test --ui
コマンドを実行します. -
ヘッドモードでのテスト実行: ヘッドモードを使用してテストを実行することも可能です. ヘッドモードでは、Playwrightがウェブサイトとどのように対話するかを視覚的に確認できます. ヘッドモードを使用するには、
npx playwright test --headed
コマンドを実行します. -
特定のブラウザでのテスト実行: 特定のブラウザでテストを実行するには、
--project
フラグに続けてブラウザの名前を指定します. 例えば、npx playwright test --project webkit
コマンドを実行すると、WebKitブラウザでテストが実行されます. -
特定のテストの実行: 特定のテストファイルを実行するには、実行したいテストファイルの名前を指定します. 例えば、
npx playwright test landing-page.spec.ts
コマンドを実行すると、landing-page.spec.ts
という名前のテストファイルが実行されます.
以上の手順で、PlaywrightとTypeScriptを組み合わせたテストの実行が可能です.