【サイプレス】

Cypress とは?

💡 ブラウザの中からテストする!開発者体験重視のE2Eテスト
📌 このページのポイント
Cypress テスト実行フロー ブラウザ内でテストが動作 テストランナー 1. ページ訪問 2. ボタンクリック 3. 結果を検証 ◀ 選択中 アプリプレビュー ナビゲーションバー フォーム コンテンツ ⏪ タイムトラベルデバッグ → 各ステップのスナップショットを確認
Cypressテストの実行フロー
ひよこ ひよこ

Cypressって他のテストツールと何が違うの?

ペンギン先生 ペンギン先生

一番の違いは、テストがブラウザの中で直接動くことだよ。従来のツールはブラウザの外から操作していたけど、Cypressはブラウザと同じ実行環境にいるから、DOMネットワーク通信をリアルタイムで監視・制御できるんだ

ひよこ ひよこ

タイムトラベルデバッグって何?過去に戻れるの?

ペンギン先生 ペンギン先生

テストの各ステップごとにDOMスナップショットが自動で記録されるんだ。テスト実行後にステップをクリックすると、その瞬間の画面状態を確認できる。まさに時間を巻き戻して見ているような感覚だよ

ひよこ ひよこ

リアルタイムリロードって便利そう!

ペンギン先生 ペンギン先生

テストコードを保存するたびに自動で再実行されるから、「書く→確認→修正」のサイクルがものすごく速いんだ。ブラウザの横にエディタを並べて、まるでフロントエンド開発のホットリロードのような感覚でテストが書けるよ

ひよこ ひよこ

Playwrightと比べてデメリットはあるの?

ペンギン先生 ペンギン先生

Cypressは長い間Chromium系ブラウザしかサポートしていなかったんだ。今はFirefoxやWebKitにも対応してきているけど、マルチブラウザ対応はPlaywrightの方が先行しているよ。あと、ブラウザ内実行の特性上、複数タブや複数ウィンドウの操作が苦手という制約もあるんだ

ひよこ ひよこ

じゃあどっちを選べばいいの?

ペンギン先生 ペンギン先生

チームの好みやプロジェクトの要件次第だね。開発体験を重視するならCypress、マルチブラウザ対応や並列実行の柔軟性を求めるならPlaywright。ちなみにCypressはダッシュボード機能も充実していて、CI/CDでのテスト結果をチーム全体で可視化できるのが強みだよ。最近はどちらも機能が充実してきて、差は縮まってきているね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Cypress」って出てきたら「ブラウザ内で動くE2Eテストツールで、テスト開発がとても快適」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cypress」 = 糸杉(イトスギ)
💬 糸杉は常緑樹で「安定」や「永続」の象徴とされているよ。テストで品質を安定させるという想いが込められているんだ
← 用語集にもどる