Playwright - user000422/0 GitHub Wiki

概要

■TypeScript 公式がトップにもってきてる。Laravel(Node.js)と相性が良い。

導入

■Node.js インストール(2025/05時点: ver.22)

■Playwright インストール用フォルダを作成。 インストール用フォルダへ移動。 インストール npm init playwright@latest

全てEnterで良い

コマンド

# ★【基本】カレントをPlaywrightインストールフォルダにすること ※でないとインストールが始まる
cd C:\Playwright

# テスト実行(headed ブラウザ起動)
npx playwright test --headed

構文

import { test, expect } from '@playwright/test';

test('has title', async ({ page }) => {

    // スクリーンショット
    await page.screenshot({ path: 'sample.png' });
    await page.screenshot({ path: 'sample.png', fullPage: true }); // フルサイズ

    // ページ遷移
    await page.goto('https://sample.com');

    // クリック ※ベストプラクティスより、「getByRole」で人間が認識するボタンの文字をベースにする(セレクタNG)
    await page.getByRole('button', { name: '検索' }).click();

    // 入力(テキストボックス)
    await page.locator('#login-code').fill('Hello');

    //【アサーション】URL確認(ページが指定された URL に移動されていることを確認)
    await expect(page).toHaveURL('https://google.com');

    //【アサーション】要素が表示されていることを確認
    await expect(page.locator('#btn-sample')).toBeVisible();
});

■ 並行実行

test.describe('group1', () => {
});

test.describe('group2', () => {
});

設定ファイル

playwright.config.ts

// 対象ブラウザを設定(不要なブラウザ設定はコメントアウトすること)
projects: [
    // 割愛
],

E2Eテスト

ユーザーの使用シナリオに基づいて、アプリケーションの開始から終了までの全プロセスをテストする手法です。