QR Send

スマホとPCのChrome間で、URLやテキストをQRコード1回のペアリングで送り合える自作Chrome拡張。アカウント不要・無料。

使ってみる →

テスト自動化

テスト自動化

PlaywrightのテストでTypeScriptに最初につまずくところ:Cannot find module(TS2307)を順番に片づける

import { test } from '@playwright/test' が赤線、自作ヘルパーが@/utilsで読めない。Playwright + TypeScriptで1年目がテストのロジックより先につまずくCannot find moduleを、原因ごとに切り分けて片づけます。
AI活用

AIに書かせたテストをリポジトリのどこに置くか:tests-ai/で分けてCIを止めない運用にする

AIに書かせたPlaywrightテストは、レビューを通しても一定割合は不安定です。tests-ai/でディレクトリを分け、retriesでフレークを吸収し、不安定なものは消さず一時skipして再生成キューに回す。CIを止めない運用ルールをコード付きでまとめました。
AI活用

落ちたテストのブラウザをそのままAIエージェントに渡す。browser.bind()とplaywright-cli attachを試した

「結局AIは何を見てテストを直したんですか」と聞かれた以前Playwrightのself-healing機能を紹介した記事を書いたところ、読んでくださった方から「AIエージェントに落ちたテストを直させるのはわかったんですが、エージェントって...
AI活用

Claude CodeにPlaywrightを「プラグイン」として入れてみた:/plugin install playwright@claude-plugins-officialはSkills/MCPと何が違うのか

Anthropic公式マーケットプレイスに並ぶPlaywrightプラグインを実際に/plugin installで入れて、中身のファイルまで開けてみました。MCP入門・Skills回とあわせて、1年目エンジニアが「結局何を入れればいいのか」で迷わないための3つの入口の整理です。
テスト自動化

StorybookのポータブルストーリーがPlaywright Component Testingにそのまま持ち込めるようになった:composeStoriesで「Storybookで書いた話とPlaywrightで書くテストが別物」を終わらせる

Storybookのcompose Storiesでストーリーがそのままplaywright component testingで動くようになった話。jsdomとブラウザ前提のテストの違い、composeStoriesの使い方、ResizeObserver/Canvas/WebGLなどブラウザAPI依存コンポーネントの使い分けまで解説します。
テスト自動化

Playwrightで負荷テストはできるのか:ArtilleryのPlaywrightエンジンとk6の住み分け

「E2Eが書けたなら負荷テストもPlaywrightでいけるのでは」。1年目の頃、私も一度そう思いました。実際に試して分かった限界と、書いたE2Eシナリオを流用するArtillery、CIに常設するk6という2つの逃げ道を整理します。
AI活用

Claude CodeのSkillsでPlaywrightを動かす:Planner/Generator/Healerと「自分の手順を覚えさせる」Skillは何が違うのか

MCPでブラウザをAIに触らせ、/playwright init-agentsでPlanner/Generator/Healerを知り、次にClaude CodeのSkillsに出会うと「結局どれを入れればいいのか」で迷います。MCP=口、Agents=役割分担、Skills=手順を覚えさせる箱、の3層で整理しました。
AI活用

Planner/Generator/Healerの次に来ているもの:Webアプリを5人がかりで診断するExplorer/Functional/Visual/API/Performanceという構成

PlaywrightのTest Agents(Planner/Generator/Healer)にようやく慣れてきた頃、2026年にはさらにその先を行く「探索・機能・見た目・API・性能の5役に分けて並列でWebアプリを診断する」構成が出てきています。何が違うのか、乗り換えるべきなのかを正直に整理します。
テスト自動化

Playwrightのテストにパスワードをベタ書きしない:.env・storageState・CI secretsの使い分け

ログインテストで一番最初に詰まるのが認証情報の扱いです。page.fill('#password', 'hunter2')とベタ書きしてしまう前に、ローカルは.env・CIはsecretsに逃がす方法、毎回ログインし直さないstorageStateの使い方、そしてstorageState.jsonがCookieの入った鍵そのものだという話を、実際の手順とあわせて正直にまとめました。
テスト自動化

【入門】PlaywrightをGitHub Actionsで自動実行する:ワークフローYAML・ブラウザキャッシュ・trace保存まで

手元でPlaywrightのテストが動くようになった次に来るのが「毎回自動で回したい」です。最小のワークフローYAMLから、ブラウザバイナリのキャッシュの罠、落ちた時にtraceとHTMLレポートを取り出すところまで、1年目でつまずきやすい順にまとめました。