はじめに
CIなどでheadlessでテストを実行している場合に、ブラウザのコンソールに表示されるメッセージを確認する方法です。
サンプルコード
以下のように 'console' イベントをリスニングします。
import { test, expect } from '@playwright/test';
test('コンソールログをキャプチャする', async ({ page }) => {
// console イベントのリスニングを開始
page.on('console', (msg) => {
// コンソールメッセージをターミナルに表示
console.log(`msg.type(): ${msg.type()}`);
console.log(`msg.text(): ${msg.text()}`);
console.log(`msg.args(): ${msg.args()}`);
console.log(`msg.location(): ${msg.location()}`);
});
// テスト実行
await page.goto('http://localhost:3000');
await expect(page).toHaveTitle('Example');
});