【サイプレス】

Cypress とは?

最終更新:
💡 ブラウザの中からテストする!開発者体験重視のE2Eテスト

ブラウザの中でテストコードを実行する、Webアプリ向けのテストフレームワーク。E2Eテストのほかコンポーネントテストにも対応し、各ステップの画面の状態を後から確認できる。

📌 このページのポイント
Cypress テスト実行フロー ブラウザ内でテストが動作 テストランナー 1. ページ訪問 2. ボタンクリック 3. 結果を検証 ◀ 選択中 → アプリプレビュー ナビゲーションバー フォーム コンテンツ ⏪ タイムトラベルデバッグ → 各ステップのスナップショットを確認
Cypressテストの実行フロー
ひよこ ひよこ
Cypressって他のテストツールと何が違うの?
ペンギン先生 ペンギン先生
一番の違いは、テストがブラウザの中でアプリと一緒に動くことだよ。Seleniumのようにブラウザの外から操作するのではなく、アプリと同じ実行ループの中で動くから、ブラウザ内のオブジェクトに直接アクセスできるし、ネットワーク通信を差し替えることもできるんだ
ひよこ ひよこ
タイムトラベルデバッグって何?過去に戻れるの?
ペンギン先生 ペンギン先生
テストの各ステップごとにスナップショットが記録されるんだ。テスト実行後にステップを選ぶと、その時点の画面の状態を確認できる。時間を巻き戻して見ているような感覚だよ
ひよこ ひよこ
リアルタイムリロードって便利そう!
ペンギン先生 ペンギン先生
テストコードを変更して保存すると自動で再実行されるから、「書く→確認→修正」のサイクルを速く回せるんだ。要素が表示されるまで自動で待ってくれる仕組みもあって、待ち時間を自分で書く手間が減るよ
ひよこ ひよこ
対応ブラウザや、苦手なことはあるの?
ペンギン先生 ペンギン先生
Chrome系・Edge・Firefoxに対応していて、WebKit(Safariのエンジン)は実験的なサポートだよ。WebKitは設定で有効にして、追加のパッケージを入れる必要があるんだ。ブラウザの中で動く設計から来る制約もあって、同時に操作できるブラウザは1つだけ。複数タブの操作は標準機能ではなく、Puppeteerプラグインを使う形になる。別のオリジンへ移動するテストでは、cy.originというコマンドが必要だよ(2026年9月時点)
ひよこ ひよこ
じゃあどんなときにCypressを選べばいいの?
ペンギン先生 ペンギン先生
ブラウザで動くWebアプリを、画面を見ながらテストしたいときに向いているよ。公式ドキュメントも、Cypressは汎用の自動化ツールではなく、クローリングや性能テストには向かないと説明している。複数のブラウザを同時に操作するテストや、Safariでの確認が重要な場合は、PlaywrightやSeleniumなどほかのツールとも比べて選ぶといいね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Cypress」って出てきたら「ブラウザの中で動く、Webアプリ向けのテストツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cypress」 = 糸杉(イトスギ)
💬 Cypressは英語でイトスギという木の名前だよ。なぜこの名前にしたのかは、公式ドキュメントには説明が見当たらないんだ

参考資料

← 用語集にもどる