概要
既存の人気のE2Eテストのフレームワークを調査を行って、コードを書いてみました。
内容
Selenium | Puppeteer | Playwright | Cypress | |
---|---|---|---|---|
サポート 言語 |
Java Python C# Ruby JavaScript Kotlin |
JavaScript/TypeScript | JavaScript/TypeScript Python |
JavaScript/TypeScript |
ブラウザー | Chrome Firefox IE Safari |
Chrome Firefox |
Chrome Edge webkit(Safari) Firefox |
Chrome Firefox Edge Electron |
環境構築 | Driverを更新する必要 | テストケースを書くために、他のテストフレームワークと組み合わせてインストールが必要 | 基本的にPlaywrightだけのインストールで十分 | 基本的にCypressのインストールだけで十分 |
スピード | ★☆☆ | ★★★ | ★★★ | ★★☆ |
参考資料多くさ | ★★★ | ★★☆ | ★☆☆ | ★★☆ |
勉強しやすさ (個人の感じ) |
★☆☆ | ★★☆ | ★★☆ | ★★★ |
メリット |
|
|
|
|
デメリット |
|
|
|
|
自分で試して作ったサンプル | https://github.com/Doris927/selenium-js-example | https://github.com/Doris927/puppeteer-example | https://github.com/Doris927/playwright-example | https://github.com/Doris927/cypress-example |
ドキュメント | https://www.selenium.dev/ja/documentation/ | https://github.com/puppeteer/puppeteer | https://playwright.dev/ | https://www.cypress.io/ |
まとめ
試しに書いてみた感じだと、Puppeteer・Playwrightはエンジニア用のE2Eテストフレームワークで、Cypress・SeleniumはQA(Quality Assurance|品質保証)の方に向いている印象でした。