반응형
はじめに
Cypressを勉強しているところ、今後、PJへどのテストツール投入するのがいいかと思い、この記事を書くことになりました。
Seleniumは今まで使ったことはないのですが、この機会軽く勉強しようかと思います。
まず、二つのツールの特徴を見てみましょう。
Cypressとは
JavaScript End to End Testing Framework
Fast, easy and reliable testing for anything that runs in a browser. Install Cypress in seconds and take the pain out of front-end testing.
www.cypress.io
CypressはJavaScriptで作成する自動テストツールです。QAやDeveloperを対象に作られ、以下のテストで使われます。
- Unit test(単体テスト)
- Integration test(総合テスト)
- End to End test
無料・有料プランが有り、ユーザー数やテスト件数などが違います。
Cypressのメリット
- テスト証跡:動画・スクリーンショットでテストを記録するのができる
- テストの自動化:Jenkins、DockerなどのCIパイプラインでの実行ができてテストの自動化ができる。
- リアルタイムリロード:テストコードの修正がある場合、自動的にリロードしてくれる。
- Spies, stubs, clocks:関数の動作、サバーレスポンス、タイマーなどを使える。
- デバッグ:デバッグができるので、テストが失敗の対応に楽。
- 自動待機:waitやsleepsを使う必要がない。テストを進むとき、コマンドやアサートチェックを行う前に自動的に待機し、エレメントの有無チェックやタイムアウトの確認の場合の処理なども作成できる。
Cypressの限界
- 同時に二つ以上のブラウザーが使用できない。
- JavaScriptでしか書けない。
seleniumとは
Selenium
Selenium automates browsers. That's it!
www.selenium.dev
seleniumはwebブラウザの捜索を自動化するフレームワークです。テストの自動化以外にも、webクローリングやタスクの自動化などにも使われます。
JavaScriptだけ使えるcypressとは違って、PythonやJavaなどの様々な言語で利用できます。
起動のためには必ずwebブラウザとweb driverが必要です。
seleniumのメリット
- 言語・フレームワーク:Java、Ruby、Pythonなど様々な言語やフレームワークを使える。
- ブラウザー:Safariを含む、cypressと比べ、より多いブラウザーを支援する。
- API:簡潔なAPIを提供する。
- テスト以外の用途
seleniumの限界
- 環境構築の難しさ:cypressはcypressのみ設置すれば利用できるが、seleniumはブラウザーのweb driverをインストールする必要がある。
- テスト作成に多少時間がかかる。
まとめ
Cypress | Selenium | |
---|---|---|
言語 | JavaScript | Java, Python, Ruby, C#, PHPなど |
ブラウザー | Chrome, Edge, Firefox(beta), Electron | Chrome, IE, Safari, Edge, Firefox, Opera |
フレームワーク | Mocha JS | 言語別様々なフレームワークを使える(例:Javaーselenide, QAFなど PythonーSeleniumBaseなど) |
環境構築 | Cypressのみインストールすれば、すぐ使える。それ以外の環境構築のためにやることは特にない。 | Cypressと比べて、web driverのインストールなど環境構築に手間がかなりかかる。 |
個人的な評価 | - 投入しやすい。 - CIへの投入ができるので、テスト自体を完全自動化ができる。 |
- テスト以外にも使えることは魅力的。 - Cypressより使える言語・ブラウザーが豊か。 |
ここまで読んでくださってありがとうございます。
반응형
'Tools > Cypress' 카테고리의 다른 글
Cypress와 Selenium 비교 (0) | 2022.07.07 |
---|---|
Cypress입문~테스트의 작성과 실행~ (0) | 2022.07.04 |
Cypress입문~인스톨부터 기동까지~ (0) | 2022.07.02 |
Cypress入門〜テストの作成と実行〜 (0) | 2022.05.27 |
Cypress入門〜インストールから起動まで〜 (0) | 2022.05.27 |