Consoleタブの使い方
Consoleタブの使い方
Consoleタブは、JavaScriptを実行したり、エラーメッセージを確認したりできるタブです。E2Eテストのデバッグやセレクタの動作確認に役立ちます。
Consoleタブとは?
Consoleタブでできること:
- JavaScriptコードをその場で実行
- エラーメッセージの確認
console.log()などのログ出力の確認- DOMの操作を試す
💡 E2Eテストでの使い方
Playwrightのコードを書く前に、Consoleでセレクタが正しく動くか確認できます。
Playwrightのコードを書く前に、Consoleでセレクタが正しく動くか確認できます。
Consoleタブを開く
方法1: 検証ツールから
1. F12 で検証ツールを開く
2. "Console" タブをクリック
方法2: ショートカット
| OS | ショートカット |
|---|---|
| Windows/Linux | Ctrl + Shift + J |
| Mac | Cmd + Option + J |
Consoleタブが直接開きます。
基本的な使い方
JavaScriptを実行する
Consoleの入力欄(>の右側)にコードを入力してEnterを押すと実行されます。
// 計算
2 + 3
// 結果: 5
// 文字列
'Hello, Console!'
// 結果: "Hello, Console!"
// 変数
const name = 'Taro';
console.log(name);
// 結果: Taro
console.log()
ページのJavaScriptから出力されるログを確認できます。
// ページのJavaScriptコード
console.log('ページが読み込まれました');
console.log('ユーザー名:', username);
これらがConsoleタブに表示されます。
複数行のコード
Shift+Enterで改行し、複数行のコードを書けます。
// Shift+Enter で改行
const user = {
name: 'Taro',
age: 25
};
console.log(user);
// Enter で実行
エラーの確認
JavaScriptエラーは自動的にConsoleに表示されます。
エラーメッセージの例
Uncaught TypeError: Cannot read property 'value' of null
at script.js:15
| 部分 | 説明 |
|---|---|
Uncaught TypeError |
エラーの種類 |
Cannot read property 'value' of null |
エラーの内容 |
at script.js:15 |
エラーの場所(ファイル名と行番号) |
エラーの種類
| エラー | 意味 | 例 |
|---|---|---|
TypeError |
型が間違っている | null.value |
ReferenceError |
存在しない変数を使用 | undefined_var |
SyntaxError |
文法エラー | const x = |
RangeError |
範囲外の値 | new Array(-1) |
⚠️ テストが失敗したら
Playwrightのテストが失敗したときは、まずConsoleタブでJavaScriptエラーが出ていないか確認しましょう。
Playwrightのテストが失敗したときは、まずConsoleタブでJavaScriptエラーが出ていないか確認しましょう。
DOM要素の取得と操作
Consoleで、ページの要素を取得・操作できます。
要素を取得
// IDで取得
document.getElementById('submit-btn')
// セレクタで取得
document.querySelector('#submit-btn')
document.querySelector('.btn-primary')
document.querySelectorAll('.item')
// $() はquerySelectorのショートカット(Console専用)
$('#submit-btn')
// $$() はquerySelectorAllのショートカット(Console専用)
$$('.item')
要素の情報を確認
// ボタンのテキスト
$('#submit-btn').textContent
// 入力欄の値
$('#email').value
// 属性を取得
$('#submit-btn').getAttribute('data-testid')
// クラスリストを取得
$('#submit-btn').classList
要素を操作
// テキストを変更
$('h1').textContent = '新しいタイトル';
// 入力欄に値を設定
$('#email').value = 'test@example.com';
// クリック
$('#submit-btn').click();
// スタイルを変更
$('#submit-btn').style.backgroundColor = 'red';
🎯 セレクタの動作確認
Playwrightのコードを書く前に、Consoleでセレクタが正しく要素を取得できるか確認できます:
Playwrightのコードを書く前に、Consoleでセレクタが正しく要素を取得できるか確認できます:
// nullが返ってきたら、セレクタが間違っている
$('#submit-btn') //
便利なConsole API
console.log()
値を出力します。
console.log('メッセージ');
console.log('ユーザー名:', username);
console.log({ name: 'Taro', age: 25 });
console.error()
エラーメッセージを赤色で出力します。
console.error('エラーが発生しました');
console.warn()
警告メッセージを黄色で出力します。
console.warn('警告: この機能は非推奨です');
console.table()
配列やオブジェクトを表形式で表示します。
const users = [
{ name: 'Taro', age: 25 },
{ name: 'Hanako', age: 30 }
];
console.table(users);
結果:
┌─────────┬──────────┬─────┐
│ (index) │ name │ age │
├─────────┼──────────┼─────┤
│ 0 │ 'Taro' │ 25 │
│ 1 │ 'Hanako' │ 30 │
└─────────┴──────────┴─────┘
console.clear()
Consoleをクリアします。
console.clear();
console.dir()
オブジェクトの詳細を表示します。
const element = $('#submit-btn');
console.dir(element); // DOM要素のすべてのプロパティを表示
Consoleのフィルタリング
Consoleの上部にあるフィルタで、表示するメッセージを絞り込めます。
| フィルタ | 説明 |
|---|---|
| All | すべてのメッセージ |
| Errors | エラーのみ |
| Warnings | 警告のみ |
| Info | 情報メッセージのみ |
| Verbose | 詳細ログを含むすべて |
検索ボックスで、テキストでフィルタリングもできます。
実践例
例1: セレクタの確認
// ボタンが取得できるか確認
$('#submit-btn')
// 結果: <button id="submit-btn">送信</button>
// 取得できない場合は null
$('#wrong-id')
// 結果: null
例2: 複数要素の確認
// すべてのリスト項目を取得
$$('li')
// 結果: [li, li, li, ...]
// 数を確認
$$('li').length
// 結果: 5
// 最初の要素
$$('li')[0]
// 結果: <li>項目1</li>
例3: フォームの値を確認
// すべての入力欄の値を取得
$$('input').forEach(input => {
console.log(input.name, ':', input.value);
});
// 結果:
// email : user@example.com
// password : ********
例4: イベントのデバッグ
// クリックイベントを確認
$('#submit-btn').addEventListener('click', () => {
console.log('ボタンがクリックされました');
});
例5: API レスポンスの確認
Playwrightテストで、API レスポンスをConsoleに出力して確認:
test('APIレスポンス確認', async ({ page }) => {
// Consoleログをキャプチャ
page.on('console', msg => {
console.log('ブラウザConsole:', msg.text());
});
await page.goto('/');
// ページのJavaScriptで console.log() されたものが
// Playwrightのログに表示される
});
よくあるユースケース
1. Playwrightのセレクタを試す
Playwright のコードを書く前に:
// Consoleで試す
document.querySelector('button[type="submit"]')
// 動作したら、Playwrightで使う
await page.locator('button[type="submit"]').click();
2. 要素の状態を確認
// 要素が存在するか
$('#element') !== null
// 表示されているか
$('#element').offsetParent !== null
// 無効化されているか
$('#button').disabled
3. ページの変数を確認
// グローバル変数を確認
window.userName
window.config
// ローカルストレージ
localStorage.getItem('token')
// セッションストレージ
sessionStorage.getItem('sessionId')
コマンド履歴
Consoleで入力したコマンドは履歴として保存されます。
↑(上矢印): 前のコマンド↓(下矢印): 次のコマンド
Consoleの設定
Consoleの右上の歯車アイコン(設定)で、以下を変更できます:
- ログレベル
- タイムスタンプの表示
- グループの展開/折りたたみ
まとめ
| 機能 | 用途 |
|---|---|
| JavaScriptの実行 | コードをその場で試す |
| エラー確認 | JavaScriptエラーをチェック |
$() / $$() |
セレクタで要素を取得 |
console.log() |
値を出力して確認 |
console.table() |
配列/オブジェクトを表形式で表示 |
🎯 テスト作成時のワークフロー
- Elementsタブで要素のセレクタを確認
- Consoleタブでセレクタが動作するか試す
- Playwrightのコードを書く
- テスト実行時にエラーが出たらConsoleを確認
次のチャプターでは、Networkタブの使い方を学びます。