---
title: Cypress vs Selenium：どちらを選ぶべきか？ | TestingBot
description: CypressとSeleniumを徹底比較：アーキテクチャ、言語サポート、ブラウザ対応、並列実行、デバッグ、移行。どちらもTestingBotのクラウド上の6100+の実際のブラウザで実行できます。
source_url:
  html: https://ja.testingbot.com/cypress-vs-selenium
  md: https://ja.testingbot.com/cypress-vs-selenium.md
---

フレームワーク比較 · 2026 
# Cypress vs Selenium

CypressとSeleniumは、ブラウザテストに対して正反対のアプローチを取ります。一方はブラウザの内部で実行され、もう一方は外部からブラウザを操作します。このガイドでは、アーキテクチャ、対応言語、ブラウザカバレッジ、並列化、デバッグの各観点で両者を徹底的に比較し、コードサンプルと5分で実践できる結論を交えてお届けします。

[TestingBotで両方を実行する](https://ja.testingbot.com/users/sign_up) [比較へジャンプ](https://ja.testingbot.com#comparison)

- **ブラウザとデバイス:** 6100+
- **クラウド並列処理:** 100×
- **稼働時間SLA:** 99.9%

## 世界で最も革新的な企業のいくつかから信頼されています

 30秒で答える 
## どちらを選ぶべきでしょうか？

 ![Cypress](https://ja.testingbot.com/assets/support/cypress-409c9fd3f79115ed7676aa1df4f6a217dc4402b3366a61984924aec7b4fefa97.svg) Cypressを選ぶべき理由は…

チームがJavaScriptまたはTypeScriptでコーディングを行い、Chrome、Edge、またはFirefoxで最新のWebアプリをテストし、組み込みのリトライ、タイムトラベルデバッグ、付属のテストランナーを備えた最高の開発者体験を求めている場合。

 ![Selenium](https://ja.testingbot.com/assets/support/selenium-266ecc0599068fc6eca0bcd9174fb46053c95cebe1c66f7a50c480f3f1a52929.svg) Seleniumを選ぶべきなのは…

チームがJava、C#、またはRubyで開発を行っている場合、レガシーブラウザ（Internet Explorer、Safari）のサポート、Appium経由での実際のモバイルデバイス、またはCypressでは扱えないマルチタブやクロスオリジンのフローが必要な場合。

両方選ぶべき場合…

高速なコンポーネントテストやフロントエンドテストにはCypressを、幅広いクロスブラウザおよびモバイルカバレッジにはSeleniumを使いたい場合。TestingBotは両方を同じグリッド上で、並列に、1つのダッシュボードで実行します。

 背景 
## CypressとSeleniumとは何ですか？

2つのフレームワーク、2つのアーキテクチャ。しかし、目標は同じ。ブラウザを操作してエンドツーエンドテストを自動化することだ。

 ![Cypress](https://ja.testingbot.com/assets/support/cypress-409c9fd3f79115ed7676aa1df4f6a217dc4402b3366a61984924aec7b4fefa97.svg)

### Cypress

リリース日：2017年 · Cypress.io · MIT

Cypressは、テストをブラウザの内部で、アプリケーションと同じ実行ループ内で実行するJavaScriptのエンドツーエンドテストフレームワークです。このアーキテクチャにより、DOMへの直接アクセス、自動待機、タイムトラベルスナップショットがデフォルトで利用できます。

ブラウザ内部で動作するため、Cypressは優れた開発者体験を備えています。組み込みのテストランナー、リアルタイムリロード、ビジュアルデバッガなどです。同じアーキテクチャは、JavaScriptとTypeScript、固定されたブラウザセット、シングルタブのフローに制限されるという制約ももたらします。

- JavaScriptとTypeScriptのみ
- 自動リトライ、タイムトラベルデバッグ、cy.intercept
- Chrome、Edge、Firefox、Electron · IE / Safariは非対応

 ![Selenium](https://ja.testingbot.com/assets/support/selenium-266ecc0599068fc6eca0bcd9174fb46053c95cebe1c66f7a50c480f3f1a52929.svg)

### Selenium

2004年リリース · オープンソース · Apache 2.0

Seleniumは、元祖ブラウザ自動化フレームワークであり、W3C WebDriver標準の基盤となっています。Selenium WebDriverは、ベンダー提供のドライバ（chromedriver、geckodriver、safaridriver、edgedriver）を介して、同一のワイヤプロトコルを使用してあらゆるブラウザを外部から操作します。

20年にわたるエコシステムの成熟により、主要なすべての言語に対応したバインディング、IDEとの高度な統合、成熟したPage Objectパターン、そして同じプロトコル上に構築されたAppiumを介した実際のモバイルデバイステストが実現しました。

- Java / Python / C# / Ruby / JavaScript / Kotlin
- W3C WebDriver標準、すべてのブラウザで動作します
- Chrome、Firefox、Safari、Edge、IE 11 · Appium経由での実際のモバイル

 直接対決 
## Cypress vs Selenium：並べて比較

CI での選択、移行、または両方の実行において重要なあらゆる側面において。

Cypress versus Selenium feature comparison| 項目 | Cypress | Selenium |
| --- | --- | --- |
| First release | 2017 | 2004 |
| Maintained by | Cypress.io | Open-source community + W3C |
| Languages | JavaScript / TypeScript only | Java, Python, C#, Ruby, JS, Kotlin |
| Architecture | Runs inside the browser | Drives the browser via WebDriver |
| Browsers | Chrome, Edge, Firefox, Electron | Chrome, Firefox, Safari, Edge, IE 11 |
| Mobile testing | Viewport emulation only | Real iOS + Android via Appium |
| Auto-waiting | Built-in retries | Manual waits or WebDriverWait |
| Network stubbing | First-class (cy.intercept) | BiDi (Selenium 4) or proxy |
| Multiple tabs / windows | Not supported | Window switching API |
| Cross-origin | cy.origin() (constrained) | Native |
| Test runner | Built in | Bring your own (JUnit, pytest, Mocha…) |
| Debugging | Time-travel snapshots + runner | IDE + driver logs |
| Parallel execution | Cypress Cloud (paid) or a grid | Selenium Grid |
| Developer experience | Real-time reload, in-browser | Functional, IDE-based |
| Ecosystem maturity | Growing fast since 2017 | 20 years of integrations |
| Free for open source on TestingBot | ✓ | ✓ |

機能に関する注記は、2026年時点のCypress 13.xおよびSelenium 4.xを反映しています。両フレームワークはTestingBotのクラウド上で動作し、Cypressはtestingbot-cypress-cli経由で、SeleniumはWebDriverハブ経由で実行されます。

 両方で同じテストを実施 
## ログインし、結果を検証する

組み込みのリトライ（Cypress）を使用したログインフローと、明示的な待機（Selenium）を使用したログインフローを比較します。どちらも同じTestingBotグリッド上で実行されます。

Cypress + TypeScript login.cy.ts

```typescript
// run via: testingbot-cypress run
describe('login', () => {
  it('redirects to the dashboard', () => {
    cy.visit('https://app.example.com/login');

    // auto-retries until actionable
    cy.get('#username').type('jane@example.com');
    cy.get('#password').type('••••••••');
    cy.contains('button', 'Sign in').click();

    cy.url().should('include', '/dashboard');
    cy.contains('h1', /welcome, jane/i).should('be.visible');
  });
});
```

Selenium + Python test\_login.py

```python
# Driver points at TestingBot remote URL
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def test_login_redirects_to_dashboard(driver):
    driver.get('https://app.example.com/login')

    driver.find_element(By.NAME, 'username').send_keys('jane@example.com')
    driver.find_element(By.NAME, 'password').send_keys('••••••••')
    driver.find_element(By.CSS_SELECTOR, 'button[type=submit]').click()

    # explicit wait
    WebDriverWait(driver, 10).until(EC.url_contains('/dashboard'))
    welcome = driver.find_element(By.TAG_NAME, 'h1')
    assert 'Welcome, Jane' in welcome.text
```

Cypressのスペックは[testingbot-cypress-cli](https://ja.testingbot.com/support/web-automate/cypress)経由で実行され、Seleniumのテストは[WebDriverハブ](https://ja.testingbot.com/support/web-automate/selenium)に接続します。どちらも同じTestingBotダッシュボードに表示されます。

 意思決定マトリックス 
## どちらを選ぶかは

### Cypressを選ぶとき

- 技術スタックがJavaScriptまたはTypeScriptを主体としており、テストランナー、アサーション、リトライがフレームワークに付属していてほしい場合。
- Chrome、Edge、またはFirefoxで最新のWebアプリをテストしており、Internet ExplorerやSafariの要件がない場合。
- 開発者体験を重視している場合：タイムトラベルデバッグ、リアルタイムリロード、読みやすい失敗時のスナップショット。
- プロキシを追加することなく、cy.interceptによる一流のネットワークスタブ機能が必要な場合。
- フローがシングルタブ内に収まり、ほぼ単一のオリジンで完結する場合（cy.originは制約の範囲内で役立ちます）。

[TestingBotでCypressを実行する](https://ja.testingbot.com/features/automation/cypress)

### Seleniumを選択する場合

- チームがJava、C#、Ruby、またはPythonで開発を行っており、JavaScript優先のAPIではなく、完全なバインディングの互換性を求めている場合。
- Internet Explorer 11、Safari、またはCypressがサポートしていないブラウザビルドでテストする必要がある場合。
- 実際のiOSおよびAndroidデバイスをテストする場合。Appiumは、Seleniumの基盤となっているWebDriverプロトコルを再利用します。
- テストが複数のタブやウィンドウを開いたり、複数のオリジンにまたがったりする場合。これらはCypressでは部分的にしか扱えません。
- 書き直したくない成熟したPage ObjectライブラリやBDDフレームワーク（Cucumber、SpecFlow）をお持ちの場合。

[TestingBotでSeleniumを実行する](https://ja.testingbot.com/features/automation/selenium)

 TestingBotは両方をサポートしています 
## どちらかを選ぶのはやめて、両方を同じグリッドで実行しよう

Cypressをtestingbot-cypress-cli経由で実行し、SeleniumをWebDriverハブに指定します。テストは同じ6100+ブラウザとデバイス、同じダッシュボード、同じ並列スロット、同じEUデータ所在地を共有し、Cypress Cloudのサブスクリプションは不要です。

- Cypress CloudプランなしでのCypress並列化
- 両フレームワークのテスト履歴を並べて表示
- オープンソースであれば無料、両方のフレームワーク

[無料で始める](https://ja.testingbot.com/users/sign_up) [デモをリクエストする](https://testingbot.com/demo)

testingbot.com / run both

// Cypress

$ npm i -D testingbot-cypress-cli

$ testingbot-cypress run # reads testingbot.json

# Selenium

webdriver.Remote(  
command\_executor='https://hub.testingbot.com/wd/hub'  
)

 よくある質問 
## よくある質問

チームがこれらのフレームワークを選択する前、あるいはフレームワーク間を移行する前に自問する質問。

CypressはSeleniumより優れていますか？

どちらかが普遍的に優れているわけではなく、それぞれ異なるチームに適しています。Cypressは、最新のWebアプリをテストするJavaScriptおよびTypeScriptチームにとって、開発者体験で勝ります。組み込みのリトライ、タイムトラベルデバッグ、付属のテストランナーなどです。Seleniumは幅広さで勝ります。より多くの言語、Internet ExplorerやSafariを含むすべてのブラウザ、Appium経由での実際のモバイル、マルチタブやクロスオリジンのフローに対応します。制約の範囲内での使いやすさを求めるならCypressを、カバレッジと柔軟性を求めるならSeleniumを選びましょう。

SeleniumからCypressに移行すべきでしょうか？

あなたのニーズがCypressの制約の範囲内に収まる場合に限ります。スイートがJavaScriptベースで、Chrome、Edge、またはFirefoxを対象としており、シングルタブ内に収まる場合は、Cypressのリトライとデバッグ機能が移行を正当化することがよくあります。Java、C#、またはRubyに依存している場合、Internet ExplorerやSafariをテストする場合、実際のモバイルデバイスを操作する場合、あるいはマルチタブやクロスオリジンのフローが必要な場合は、移行によって機能を失うことになります。多くのチームは両方を維持します。フロントエンドテストにはCypressを、幅広いクロスブラウザおよびモバイルカバレッジにはSeleniumを使用します。

CypressはSeleniumがサポートするすべてのブラウザをサポートしていますか？

いいえ。CypressはChromiumベースのブラウザ（Chrome、Edge、Electron）とFirefoxで動作し、WebKitは実験的にサポートしています。Internet Explorerや実際のSafariは操作できません。Seleniumは、ベンダー提供のドライバを介して、Internet Explorer 11やSafariを含む実際のブラウザバイナリを操作します。IEまたはSafariのカバレッジが必要な場合は、この2つのうちSeleniumが唯一の選択肢となります。

Cypressはモバイルアプリのテストを行うことができますか？

ネイティブでは対応していません。Cypressはモバイル画面をエミュレートするためのビューポートのリサイズ機能を提供していますが、ネイティブのiOSアプリやAndroidアプリを操作することはできません。実際のモバイルテストには、[Appium](https://ja.testingbot.com/features/automation/appium)、[XCUITest](https://ja.testingbot.com/features/automation/xcuitest)、[Espresso](https://ja.testingbot.com/features/automation/espresso)、または[Maestro](https://ja.testingbot.com/features/automation/maestro)が必要です。Appiumは、Seleniumの基盤となっているWebDriverプロトコルを再利用します。TestingBotは、実際のiOSおよびAndroidデバイス上でこれらのすべてをサポートしています。

Cypressを並列で実行するにはCypress Cloudが必要ですか？

いいえ。Cypress独自の並列化と録画はCypress Cloud（有料サブスクリプション）経由で実行されます。TestingBotは代替手段です。testingbot-cypress-cliがスペックを圧縮してアップロードし、クラウドグリッド上のChrome、Edge、Firefoxにわたって並列に実行します。ライブログとビデオが利用でき、Cypress Cloudプランは不要です。並列数はtestingbot.jsonで設定します。

CypressとSeleniumは同じCIパイプラインを共有できますか？

はい。どちらもCI/CDで実行され、TestingBot上の同じ場所に結果を報告します。一般的な構成では、高速なフロントエンドスペックにはCypressを、幅広いクロスブラウザおよびモバイルカバレッジにはSeleniumを同じパイプライン内で実行し、どちらも同じ認証情報とビルド名でTestingBotグリッドを対象とします。

TestingBot上でCypressとSeleniumを実行できますか？

はい、どちらも同じTestingBotクラウド上で動作します。Cypressは`testingbot-cypress-cli`のnpmパッケージ経由で実行され、`testingbot.json`ファイルで構成し、`testingbot-cypress run`で起動します。Seleniumは`webdriver.Remote`を介して`https://hub.testingbot.com/wd/hub`に接続します。どちらのテストも同じダッシュボードに表示され、並列スロットを共有し、同じEUデータ所在地、ビデオ録画、CI/CD統合のメリットを享受できます。どちらもオープンソースプロジェクトでは無料で利用できます。

さらに詳しく知りたい方は、専用の[Cypress](https://ja.testingbot.com/features/automation/cypress)ページと[Selenium](https://ja.testingbot.com/features/automation/selenium)ページをご覧ください。

## Related comparisons
[Cypress vs Playwright](https://ja.testingbot.com/cypress-vs-playwright) [Playwright vs Selenium](https://ja.testingbot.com/playwright-vs-selenium)

### 無料トライアルにサインアップ

TestingBotのクラウド上で、Cypress、Selenium、またはその両方を実行できます。Cypress Cloudのサブスクリプションは不要です。

[無料トライアルを開始する](https://ja.testingbot.com/users/sign_up)

あなたが好きかもしれないリソース

[![Tutorial on debugging Cypress tests](https://ja.testingbot.com/assets/resources/articles/10-7ae9f6d9435bea1c54ec815ad535dc4a590086e6165263a9eba3441635d55726.webp)](https://testingbot.com/resources/articles/how-to-debug-cypress-tests)
### [Tutorial on debugging Cypress tests](https://testingbot.com/resources/articles/how-to-debug-cypress-tests)

This article will focus on how to debug your Cypress tests with Cypress debugger and other developer tools.

[続きを読む](https://testingbot.com/resources/articles/how-to-debug-cypress-tests)

[![Selenium and Generative AI](https://ja.testingbot.com/assets/resources/articles/28-af707bf052844eb00f861bb6ebba57e6be4479dde1c78a5df4e70d2f597a8b18.webp)](https://testingbot.com/resources/articles/generative-ai-selenium)
### [Selenium and Generative AI](https://testingbot.com/resources/articles/generative-ai-selenium)

Generate realistic looking test data to be used with your Selenium Automated Tests.

[続きを読む](https://testingbot.com/resources/articles/generative-ai-selenium)

[![Cypress and Cucumber Browser Testing](https://ja.testingbot.com/assets/resources/articles/6-495c5e14cb4bf1e282858fc7e2cfcbe89775e3790b88d34c15bf9a6f36d387d4.webp)](https://testingbot.com/resources/articles/cypress-cucumber-testing)
### [Cypress and Cucumber Browser Testing](https://testingbot.com/resources/articles/cypress-cucumber-testing)

Cypress and Cucumber is a great combination to write clean and precise end-to-end browser tests.

[続きを読む](https://testingbot.com/resources/articles/cypress-cucumber-testing)
