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/