QR Send

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

使ってみる →

TypeScript

AI活用

Claude Code v2.1.271でRemoteにもFast modeが来た:cloud/self-hosted runnerで速さをどう扱うか

Claude Code v2.1.271でRemoteセッションにもFast modeが追加されました。速さと検証を分けて、cloud/self-hosted runnerで安全に使う考え方を整理します。
テスト自動化

Playwrightで「ファイルがダウンロードできたか」をテストする:waitForEvent(‘download’)とsaveAs()、Seleniumのprefs設定はもう要らない

Seleniumのdownloadダイアログをprefsでいじる設定は、Playwrightでは不要です。waitForEvent('download')とsaveAs()の基本形、複数ダウンロード、ファイル内容検証までまとめました。
テスト自動化

見た目の崩れをtoHaveScreenshot()で止める:CIで安定するVisual Regression Testingの始め方

PlaywrightのtoHaveScreenshot()で見た目の崩れを検知するVisual Regression Testing入門。初回実行のベースライン生成、CIで真っ赤になる環境差対策(公式Dockerイメージ)、mask/animationsでのノイズ除去、maxDiffPixelRatioを最後に触る順番まで解説します。
テスト自動化

「たまに落ちるテスト」を勘で直さない:–repeat-eachとFlakyタグで本当に不安定なテストを先に特定する

テストが1回落ちただけで「flakyだから」とretriesを足して蓋をしていませんか。Playwrightの--repeat-eachでテストの不安定さを数値化し、HTMLレポートのFlakyタグで候補を絞ってから、waitForTimeoutとCSSセレクタという2大原因を潰す順番を紹介します。
AI活用

Playwright MCPの「プロファイル」を理解する:persistent(既定)/isolated/extensionの3モードでログイン状態は毎回消えるのか残るのか

Playwright MCPは既定でpersistentプロファイルを使い、ワークスペースごとにCookieやログイン状態を自動保存します。isolated/extensionモードとの違い、storage-stateでの初期状態注入、名前付きセッション管理がまだfeature request段階である点まで整理しました。
テスト自動化

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を止めない運用ルールをコード付きでまとめました。
テスト自動化

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

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

Playwright 1.62でMCPサーバーが本体同梱に:npx playwright mcpだけで動くようになった話

Playwright 1.62でMCPサーバーとplaywright-cliが本体に同梱されました。npx playwright mcpだけで動くようになり、@playwright/mcpを別途インストールしてバージョンを手で合わせる手順はもう要りません。
AI活用

AIにテストを書かせる:codegenの録画をgetByRole/getByLabelへ書き換えてもらう(Generator)

playwright codegenで録画したテストがCSSセレクタだらけで壊れやすい、という悩みをAIエージェント(Generator)に書き換えさせる方法をまとめました。codegen自体もrole系ロケータを優先しますが、実際のアプリでは限界があります。その先をAIにどう任せるか、実例のコードとともに正直に書いています。