Playwright チュートリアル
Playwright は、Microsoft が 2020 年にリリースしたオープンソースプロジェクトであり、Web 自動化とエンドツーエンド(End-to-End)テストのためのオープンソースフレームワークです。
Playwright は、複数のブラウザ(Chromium、Firefox、WebKit)と複数のプログラミング言語(JavaScript/TypeScript、Python、Java、.NET)をサポートしており、信頼性が高く、高速で、機能豊富な自動化テストソリューションを提供することを目的としています。
Playwright を学ぶのに必要な基礎知識は?
Playwright を学ぶ前に、これだけを押さえれば十分です:
- 少しわかるJavaScript、特に
async/await; - 使えるNode.jsとnpmスクリプトを実行する;
- 少し理解しているHTMLとセレクター(例えば
#id、.class); - ターミナルを使ってコマンドを実行する。
Playwright で何ができるか?
一言で言うと、ブラウザで人がクリックできることは、Playwright でほぼすべて自動化できます。
例えば:
- ボタンをクリックする
- フォームに入力する
- 別のページへ移動する
- スクリーンショットを撮って、Webページの内容を保存する
Playwright 簡単なサンプル
以下は、百度のトップページをスクリーンショットできる Playwright の簡単なサンプルです:
サンプル
// hello.js
const { chromium } = require('playwright');
(async () => {
// 1. ブラウザを起動
const browser = await chromium.launch({ headless: false }); // false に設定するとブラウザを表示できます
const page = await browser.newPage();
// 2. Webページを開く
await page.goto('https://www.baidu.com');
// 3. スクリーンショットを保存
await page.screenshot({ path: 'baidu.png' });
// 4. ブラウザを閉じる
await browser.close();
console.log("スクリーンショットは example.png に保存されました");
})();
const { chromium } = require('playwright');
(async () => {
// 1. ブラウザを起動
const browser = await chromium.launch({ headless: false }); // false に設定するとブラウザを表示できます
const page = await browser.newPage();
// 2. Webページを開く
await page.goto('https://www.baidu.com');
// 3. スクリーンショットを保存
await page.screenshot({ path: 'baidu.png' });
// 4. ブラウザを閉じる
await browser.close();
console.log("スクリーンショットは example.png に保存されました");
})();
実行:
node hello.js
ブラウザは自動的に2つのToDo項目を入力し、スクリーンショットを保存します。
関連リンク
- Playwright 公式サイト:https://playwright.dev/
- Playwright オープンソースリポジトリ:https://github.com/microsoft/playwright
- Playwright API ドキュメント:https://playwright.dev/docs/api/class-playwright/