ブラウザの自動化に Playwright CLI を使用する場合、storage state は基本的に最もよく使用される機能の 1 つです。その機能は非常に直接的です。現在のログイン状態とローカル状態をブラウザに保存し、後でそれを再利用して、毎回再度ログインする必要がなくなります。
01 現在の保存状態を保存します
最も一般的なシナリオは、一度ログインしてから現在のステータスをファイルにエクスポートすることです。
|
|
このコマンドは、現在のブラウザー コンテキストの状態を auth.json に保存します。後でログイン状態を再利用する場合は、通常はこのステップから開始します。
02 既存のストレージ状態をロードします
状態ファイルをすでに作成している場合は、起動時にそれを直接ロードできます。
|
|
auth.json の状態でブラウザー コンテキストを開始します。一般的な使用法は、繰り返しのログインをスキップして、ログインした環境に直接入ることです。
03 現在の Cookie を表示する
現在のセッションにどのような Cookie があるかを確認したいだけの場合は、それらを直接表示できます。
|
|
このコマンドは、現在のコンテキスト内の Cookie をリストします。ログイン状態が存在するかどうか、Cookie が正常に書き込まれたかどうかを確認するのに適しています。
04 クッキーを設定する
すでに Cookie データがある場合は、直接書き込むこともできます。
|
|
この使用法は、認証のデバッグ、特定のセッションの再現、またはスクリプトの前に Cookie 条件を手動で挿入する場合に適しています。
05 ローカルストレージの読み取り
一部のサイトのログイン ステータスまたはフロントエンド ステータスは、Cookie だけでなく localStorage にも保存されます。
|
|
このコマンドは、現在のページの localStorage コンテンツを表示するために使用されます。この手順は、「ログインしているように見えますが、ページの動作が間違っている」というトラブルシューティングを行う場合に役立ちます。
06 ローカルストレージへの書き込み
フロントエンドのステータスをシミュレートする必要がある場合は、それを直接設定することもできます。
|
|
指定されたキー値を localStorage に書き込みます。一般的な用途は、トークン、基本設定、または一部のフロントエンド スイッチを挿入することです。
07 セッションストレージの読み取り
sessionStorage は、現在のセッションの一時的なステータスを表示するのに適しています。
|
|
このコマンドは、現在のページの sessionStorage を出力します。特定のページ ロジックがワンタイム セッション データに依存している場合は、ここから確認できます。
08 セッションストレージへの書き込み
必要に応じて、sessionStorage を手動で設定することもできます。
|
|
これは、一時的な状態に依存する特定のページ動作を再現したり、初期化ステップに必要なフィールドを入力したりするのに適しています。
09 IndexedDB の表示
より重い Web アプリケーションの場合、本当に重要なデータは IndexedDB にある可能性があります。
|
|
このコマンドは、現在のページの IndexedDB データを表示するために使用されます。複雑な単一ページ アプリケーション、オフライン キャッシュ、またはローカル データベース スタイルの状態に遭遇した場合は、最初にここを確認できます。
10 最も実用的なワークフローの 1 つ
ログイン状態を安定して再利用したいだけの場合、最も単純なプロセスは通常次のようになります。
- まずサイトを開いて手動でログインを完了します。
- 次のコマンドを実行してステータスを保存します。
|
|
- 後続の実行中に直接ロードします。
|
|
ロード後もページに異常がある場合は、引き続き次の確認を行ってください。
playwright-cli cookiesplaywright-cli local-storageplaywright-cli session-storageplaywright-cli indexed-db
このシーケンスで「状態が完全に復元されていない」という問題のほとんどはすでにカバーできます。
11 使用上の注意点
注目すべき点は次の 3 つです。
storage stateファイルは本質的に機密データであり、ログイン Cookie またはトークンが含まれる場合があります。安易に倉庫に提出しないでください。- 単に Cookie を復元するだけでは必ずしも十分ではなく、多くの最新のサイトは
localStorage、sessionStorage、またはIndexedDBにも依存しています。 - ステータス ファイルは永続的に有効ではないため、通常、Cookie の有効期限が切れた後、アカウントが変更された後、または環境が切り替わった後に再生成する必要があります。
12 簡単なまとめ
一文しか覚えていない場合:
**Playwright CLI の storage state は、ブラウザの現在の状態を保存し、後続のタスクで引き続き使用します。 **
実際のトラブルシューティングでは、最も一般的に使用されるコマンドのセットは次のとおりです。
|
|
最初に保存してからロードします。そうでない場合は、Cookie とさまざまなローカル ストレージ層を確認してください。これは基本的に、このリファレンス ドキュメントの最も実践的な部分です。
参考リンク
- Playwright CLI ストレージ状態リファレンス ドキュメント: https://github.com/microsoft/playwright-cli/blob/main/skills/playwright-cli/references/storage-state.md
- Playwright CLI プロジェクトのホームページ: https://github.com/microsoft/playwright-cli