「Cypressはオワコン」「PlaywrightにCypressは負けた」——2024年頃からこうした意見がSNSやQiitaで増えている。テスト自動化ツールとして一世を風靡したCypressだが、2026年現在の実態はどうなのか。15年以上のQA実務経験をもとに、GitHub Stars・求人数・CI/CD実績・コンポーネントテストの観点から冷静に評価する。結論を先に言うと、「オワコンではないが、選ぶ理由は明確にすべき時代」だ。
「Cypressはオワコン」は半分正解・半分間違いだ。勢いは落ちたが、Cypressにしかできないことがまだある。
📌 この記事はこんな人向け
- 現在Cypressを使っていてPlaywrightへの移行を迷っている
- 新規プロジェクトでCypressを採用するか悩んでいる
- 「Cypressはオワコン」という意見の根拠を知りたい
- Cypress・Playwright・Seleniumの3ツールを正確に比較したい
✅ この記事を読むと得られること
- 「Cypressはオワコン」と言われる具体的な根拠が整理できる
- Cypressが今でも強い場面・弱い場面が明確にわかる
- Cypress・Playwright・Seleniumの3ツール比較表が手に入る
👤 この記事を書いた人
QAエンジニア・テスト自動化エンジニアとして15年以上の実務経験あり。Cypressは初期バージョンから、Playwrightはリリース直後から実務で使用。複数プロジェクトでツール選定・移行設計を担当してきた。
Cypressが登場した2017年当時、そのDX(Developer Experience:開発者体験)は革命的だった。インタラクティブなテストランナー、タイムトラベルデバッグ、ブラウザ内で直接動作する仕組み——フロントエンドエンジニアを中心に一気に広まった。しかしPlaywrightが登場し、2022年頃からGitHub Starsが逆転。「Cypressはもう古い」という声が増えてきた。では実態はどうなのか、正直に整理してみよう。
📌 この記事の結論
- Cypressはオワコンではない——ただしPlaywrightに優位な場面が逆転しつつある
- コンポーネントテスト・フロントエンド開発者のDXではCypressがまだ強い
- 新規のE2EテストプロジェクトならPlaywrightを選ぶ理由の方が多い
「Cypressはオワコン」と言われる理由とは
批判の根拠は感情論ではなく、具体的なデータと技術的な制約に基づいている。主な理由を整理しよう。
① GitHub Stars・新規採用トレンド・State of JS でPlaywright優勢が続く
| ツール | GitHub Stars(執筆時点の参考値。変動あり) | トレンド |
|---|---|---|
| Cypress | 約 47,000 | → 伸び鈍化 |
| Playwright | 約 67,000 | ↑ 急成長中 |
| Selenium | 約 31,000 | → 安定維持 |
② 技術的な制約がPlaywrightで解消された
Cypressには構造上の制約があり、Playwrightの登場でそれが可視化された。
| 制約 | 詳細 | Playwrightは? |
|---|---|---|
| マルチタブ・popup系の扱い | 複数タブ・popup系シナリオをネイティブに扱いにくい(cy.origin()で一部対応可能だが制約が残る) | ✅ 標準対応 |
| 同一オリジン制限 | 異なるドメインを1テストでまたげない(緩和されたが制限あり) | ✅ Cypress固有の同一オリジン制約が少ない |
| JavaScript/TypeScriptのみ | Python・Java・C#では使えない | ✅ 多言語対応 |
| 並列実行に制限 | 高度な分散並列・可視化にCypress Cloud(有料)が必要。ローカル並列は工夫次第で可能 | ✅ Playwright Test(Node.js)は標準で強力な並列実行をサポート。Python版もpytest-xdistで並列実行可能 |
| モバイル対応 | ブラウザエミュレーション中心 | 高機能なブラウザエミュレーション ※ネイティブアプリはAppium領域 |
③ State of JS 調査でもPlaywrightへの移行が加速
GitHub Starsはあくまで人気の参考指標の一つだ。加えて毎年実施される「State of JS」調査でも、2023年以降のE2EテストカテゴリでPlaywrightの「使用したい」スコアがCypressを上回り続けており、npm weeklyダウンロード数でもPlaywrightの伸びが顕著になっている。これらを総合すると新規採用トレンドはPlaywright優勢だと言える。
単に「Microsoft製だから」ではなく、技術的な設計が優れている点が大きい。BrowserContextによる並列実行の分離設計、Auto-waitによる待機処理の自動化、ネットワーク傍受の標準搭載、そして多言語対応——これらが「Seleniumの不満」と「Cypressの制約」を同時に解消したことが急成長の理由だ。
「技術的制約があり、それをPlaywrightが解消した」「新規採用でPlaywrightを選ぶ人が増えた」——これが実態だ。Cypressが壊れた・使えなくなった、ということではない。
Cypressが今でも強い場面
批判ばかりでは不公平だ。Cypressには今でも現役で選ばれる理由がある。
① コンポーネントテストでの強み
CypressのComponent Testing機能は、React・Vue・Angularなどのコンポーネントを実際のブラウザ環境で単体テストできる。Playwrightも追いかけているが、フロントエンドエンジニアの使い勝手という点ではCypressがまだ一歩リードしている。
// Cypress Component Testing(React コンポーネントをブラウザで直接テスト)
import { mount } from 'cypress/react'
import LoginForm from './LoginForm'
it('バリデーションエラーが表示される', () => {
mount( )
cy.get('[data-testid="submit-btn"]').click()
cy.get('[data-testid="error-msg"]')
.should('be.visible')
.and('contain', 'メールアドレスを入力してください')
})② タイムトラベルデバッグのDX
Cypress最大の強みの一つがタイムトラベルデバッグだ。テスト実行後にCypress App上で各ステップのスナップショットを前後に行き来しながら確認できる。デバッグ時間が大幅に短縮され、フロントエンドエンジニアから特に高い評価を得ている。
テスト失敗後にCypress Appを開き、各コマンドにカーソルを合わせるとその時点のDOMスナップショットが右側に表示される。「どの操作で何が変わったか」が視覚的にわかり、原因特定が圧倒的に速い。
③ JS/TSフロントエンドチームへの自然な導入
Cypressは完全にJavaScript/TypeScriptで動作するため、フロントエンドエンジニアが既存のJS知識でそのまま書ける。「QAエンジニア不在のフロントエンドチームがテストを書く」という文脈では、今でも非常に合理的な選択だ。
3ツール徹底比較|Cypress vs Playwright vs Selenium
| 項目 | 🌲 Cypress | 🎭 Playwright | 🌐 Selenium |
|---|---|---|---|
| 対応言語 | JS/TSのみ | Python/JS/TS/Java/C# | 多言語対応 |
| 実行速度 | 🐢 やや遅い | ⚡ 速い | 🐢 遅め |
| 並列実行 | 有料プランが必要 | Playwright Test(Node.js)は標準並列。Python版もpytest-xdistで対応 | pytest-xdistで可能 |
| マルチタブ・popup | ネイティブ操作は弱い (cy.origin()等の回避策あり) | ✅ 対応 | ✅ 対応 |
| コンポーネントテスト | ◎ 強い | ○ 対応 | × 非対応 |
| タイムトラベルデバッグ | ◎ 独自強み | △ Trace Viewerで近い体験が可能 | × なし |
| Auto-wait | ○ あり | ◎ より高性能 | △ Explicit Wait等で対応可能 (標準自動待機はPlaywright/Cypressより弱め) |
| ネットワーク傍受 | ◎ cy.intercept() | ◎ page.route() | △ 別途設定 |
| DX(デバッグしやすさ・UI・学習コスト) | ◎ 非常に高い (特にフロントエンド開発者から評価が高い) | ○ 良い | △ 慣れが必要 |
| 求人(日本) | △ 少ない | ○ 増加中 | ◎ 多い |
コードで見る違い|同じテストを書き比べ
Cypressで書いた場合
// Cypress(JavaScript/TypeScript)
describe('ログインテスト', () => {
it('正しい認証情報でダッシュボードへ遷移する', () => {
cy.visit('https://example.com/login')
// CypressもAuto-waitあり(Playwrightより細かい制御は少ない)
cy.get('#username').type('test_user')
cy.get('#password').type('test_pass')
cy.get('#login-btn').click()
cy.url().should('include', 'dashboard')
cy.get('[data-testid="welcome-msg"]').should('be.visible')
})
})Playwrightで書いた場合(Python)
from playwright.sync_api import expect
# Playwright(Python)
def test_ログイン後にダッシュボードへ遷移する(page):
page.goto("https://example.com/login")
page.fill("#username", "test_user")
page.fill("#password", "test_pass")
page.click("#login-btn")
page.wait_for_url("**/dashboard")
expect(page.get_by_test_id("welcome-msg")).to_be_visible()E2Eテストとして書く場合、CypressとPlaywrightのコード量に大きな差はない。CypressはJSチェーンスタイル、PlaywrightはよりシンプルなAPIスタイル。大きな差が出るのはマルチタブ・クロスオリジン・並列実行などの高度なシナリオだ。
どの場面でどのツールを選ぶか
| 状況 | 推奨ツール | 理由 |
|---|---|---|
| JS/TSフロントエンドチームのE2Eテスト | Cypress or Playwright | どちらも合理的。DX重視ならCypress、CI速度重視ならPlaywright |
| Reactコンポーネントの単体テスト(ブラウザで) | Cypress | Component Testingの成熟度・DXでCypressが優位 |
| Python系QAチームのE2Eテスト | Playwright | CypressはJS/TSのみのため選択肢にならない |
| マルチタブ・クロスオリジンを含むテスト | Playwright | Cypressの制約が直接問題になる |
| 大規模CI・並列実行コスト重視 | Playwright | Cypressの並列実行は有料プラン依存 |
| Java/C# エンタープライズ環境 | Selenium or Playwright | CypressはJS/TSのみのため対象外 |
Cypressは2026年でも実際に採用されているのか
「新規採用でPlaywrightが増えている」は事実だが、Cypressが消えたわけでもない。実際の採用状況を整理しよう。
| 組織・チームの特性 | Cypress採用状況 |
|---|---|
| スタートアップ(JS/TSフロントエンド中心) | 現役採用多数。DXと学習コストの低さが評価される |
| SIer・受託開発(Java/Python混在) | JS/TSのみというハードルからSeleniumやPlaywrightが選ばれやすい |
| エンタープライズ(大規模・多チーム) | コンポーネントテストにCypress、E2EにPlaywrightという併用パターンが増えている |
| フロントエンド専門チーム(React/Vue) | Component TestingのDXが高く評価され、2026年でも新規採用あり |
「E2EテストツールとしてのCypress」は新規採用が鈍化している。しかし「コンポーネントテストツール+フロントエンドDX向けブラウザテストツール」としては2026年でも十分現役だ。用途を絞れば採用を正当化できる。
チーム構成別おすすめツール
| チーム構成 | 推奨ツール | 理由 |
|---|---|---|
| FE主導(React/Vue・JS/TS統一) | Cypress | コンポーネントテスト・DX・言語統一のメリットが最大化 |
| QA主導(Python中心・pytest活用) | Playwright | CypressはJS/TSのみ。PythonならPlaywrightが自然な選択 |
| 多言語エンタープライズ(Java/C#混在) | Selenium / Playwright | Cypressの言語制約が障壁になるため対象外 |
| FE+QA混在・新規E2Eプロジェクト | Playwright | 速度・並列・クロスオリジン・多言語で最も柔軟 |
移行判断チェックリスト|Cypress → Playwright
既存のCypressプロジェクトをPlaywrightに移行するかどうかは、以下で判断しよう。
| チェック項目 | 点数 |
|---|---|
| CIの並列実行コストがCypress Cloudで嵩んでいる | YES → +2点 |
| マルチタブ・クロスオリジンのテストを書く必要がある | YES → +2点 |
| Python・Java・C#でテストを書きたい | YES → +2点 |
| Flaky Testが頻発している(例:週3件以上) ※あくまで一例。CI頻度・テスト件数・並列数・環境差異によって基準は大きく変わる | YES → +1点 |
| 既存のCypressテスト数が100件以下 | YES → +1点 |
| コンポーネントテストをCypressで書いている | YES → −1点 |
🔑 判断基準
- 4点以上:移行を積極的に検討すべき
- 2〜3点:新規テストはPlaywrightで書き、既存Cypressは維持する部分移行を検討
- 1点以下:今すぐ移行する理由は薄い。CypressのDXを活かし続けるのが効率的
✅ Cypressを使い続けることが合理的なケース
- React / Vue のコンポーネントテストを実際のブラウザで書きたい
- チームがJS/TSで統一されており、言語を増やしたくない
- タイムトラベルデバッグのDXを重視したい
- E2Eテストの規模が小さく、並列化・クロスオリジンの問題が生じていない
- 既存のCypressコードが大量にあり、移行コストが見合わない
Cypressを選んで困るケース|移行検討のヒント
Cypressは強力なツールだが、特定のシナリオでは構造的な制約がボトルネックになりやすい。以下に当てはまる場合は移行を検討する価値がある。
- OAuthログイン・SSO(別ドメインへのリダイレクトを含む認証フロー)
- 決済画面(Stripe等の外部ドメインiframeやポップアップ)
- 複数タブを同時に操作するシナリオ
- ブラウザ通知・ファイルダウンロードの検証
- Python/Java/C# チームへの展開
- Trace Viewerの使い方に慣れるまで多少の学習コストがかかる
- fixture設計(pytest conftest.py)の理解が必要(Python版の場合)
- タイムトラベルデバッグほど直感的なUIではないため、デバッグ体験は変わる
- Cypress Component Testingを活用していた場合は代替設計が必要
現場では「Cypressを全面的に急移行する」ケースは少ない。多くのチームが採用しているのは「新規E2EテストだけPlaywrightで書き始め、既存Cypressは段階的に移行する」パターンだ。特に大規模プロジェクトでは全面リライトよりも部分移行の方がROIが高い。コンポーネントテストはCypressのまま維持しながらE2EだけPlaywrightに移すチームも増えている。
📖 関連記事
FAQ|よくある質問
Q. CypressはPlaywrightに完全に負けましたか?
E2Eテストの新規採用という観点ではPlaywrightが優勢になっているのは事実だ。ただし「完全に負けた」は言い過ぎで、コンポーネントテスト・フロントエンド開発者のDX・JS/TSチームへの馴染みやすさでCypressはまだ強みを持っている。「用途による使い分け」が正確な表現だ。
Q. Cypress Cloud(有料)を使えば並列実行の問題は解決しますか?
解決はする。しかしチームが拡大するほどコストが増加し、Playwrightなら無料でできることにお金がかかるという構造的な問題は残る。「コストを払ってでもCypressのDXを選ぶか」というROI判断になる。小規模チームや個人プロジェクトならCloud不要で運用できる範囲も十分ある。
Q. 2026年に新しくCypressを学ぶ価値はありますか?
JS/TSフロントエンドエンジニアとして働いていて、コンポーネントテストまで含めてブラウザテストを書きたいなら学ぶ価値はある。一方、QAエンジニアとしてキャリアを積みたいPython使いなら、PlaywrightとSeleniumを先に習得する方が求人的に合理的だ。
Q. CypressとPlaywrightを両方使っているチームはありますか?
実際にある。「コンポーネントテストはCypress、E2EテストはPlaywright」という組み合わせは現実的な選択肢だ。ツールの共存を恐れずに、それぞれの強みを活かす設計を検討してほしい。
Q. CypressのJavaScript限定はデメリットだけですか?
デメリットだけではない。JS/TSのみに特化することで、フロントエンドエコシステムとの統合が深く、既存のJSテストツール(Jest・Vitest等)との文化的な相性が良い。「言語を統一したい」というチームにとってはむしろ強みになる。
Q. Cypressは今後なくなってしまいますか?
なくならないと考えてよい。CypressはNPM weeklyダウンロード数で依然として高い数値を維持しており、開発・メンテナンスも継続中だ。ただし新規E2Eプロジェクトでの採用シェアはPlaywrightに移行しつつある。「消える」のではなく「用途が絞られていく」という変化だ。
Q. Cypress経験は転職・キャリアで評価されますか?
評価される。特にフロントエンドよりのチームや、JS/TSで統一されたスタートアップでは今もCypress経験を歓迎する企業がある。ただし、より幅広いキャリアを目指すならPlaywrightやSeleniumも並行して習得しておくと選択肢が広がる。
Q. QAエンジニアはCypress・Playwright・Seleniumのどれから学ぶべきですか?
Python系QAエンジニアなら「Selenium → pytest → Playwright」の順が求人市場と合致しており最も実務的だ。JS/TSフロントエンドエンジニアがテストを書く立場なら「Cypress → Playwright」の順で移行する流れが自然だ。Cypressから入ると、Playwrightの設計思想との違いが体感レベルで理解しやすくなる。
まとめ
🔑 「オワコン」に対する最終回答
Cypressはオワコンではない。ただし「E2Eテストツールの新規採用で迷わず選ばれる存在」ではなくなった。Playwrightが多くの場面で合理的な選択になった今、Cypressを選ぶ理由を明確に言えるなら使い続けていい——それが2026年現在の正直な評価だ。
📋 この記事のまとめ
- 「オワコン」と言われる理由はGitHub Starsの逆転・技術的制約・新規採用トレンドの変化
- コンポーネントテスト・タイムトラベルデバッグ・JS/TSチームへの馴染みやすさはCypressの現役の強み
- E2Eテスト新規プロジェクト・Python/Java環境・並列実行コスト重視ならPlaywrightが合理的
- 「どちらが正解か」ではなく「自分のチームに何が必要か」で選ぶことが大切
ツール選びに正解はない。この記事の比較表とチェックリストを使って、現場に合った判断をしてほしい。

