E2Eテストフレームワークのひとつ
Cypressは「E2Eテストフレームワーク」の一種であり、JavaScriptでテストコードを書けることが最大の特徴です。また、マルチブラウザに対応しており、同一コードで異なるブラウザに対するテストを作成することもできます。
参照元:イ-シービーイング・ラボ(https://blog.ecbeing.tech/entry/2021/04/08/114500#Cypressのデメリット)
導入が容易であり、学習しやすいと言われるプログラミング言語であるJavaScriptでテストコードを書くことができるため、Webサービスのテスト自動化に興味がある人、自動テスト初心者向きのツールです。プロジェクトに重要な処理をピックアップして、それらに優先順位を決めて単体で行う案件に向いています。
参照元:イ-シービーイング・ラボ(https://blog.ecbeing.tech/entry/2021/04/08/114500#デメリット総括)
メンテナンスの手間を考慮すると、サポートが充実した有償ツールの方がプロジェクトが円滑に進み、トータルコストが抑えられる可能性があります。
現場にプログラミングスキルを持つ人材がいない場合や、トラブルが起きた際に誰にも相談できない環境の場合は、有償ツールの採用も検討することをおすすめします。
Cypressの導入は、Cypressによるテストを構築したいディレクトリ下で、短いコマンド分を入力して実行するだけ。5~10分で簡単にインストールできます。
管理画面を開いたら、初回はいくつかのサンプルテストを生成してくれるため、実行したいファイルをクリックするとテストを自動で実行してくれます。
参照元:Future Tech Blog(https://future-architect.github.io/articles/20210428a/)
Cypressでは、テスト実行中の画面の様子を動画として保存することができます。エラー箇所も動画で保存できるため、原因を検証しやすいでしょう。ブラウザ画面の分割により、テストコードで命令した内容が実際にどうなったかも確認することができます。
参照元:trog(https://microayatron.com/setting-up-cypress-environment/)
Cypress では、別タブを開いて動作を確認することができません。CypressはテストコードをJavaScriptで実行する方式を採用しているため、基本的にJavaScriptでできないことはCypress上でも実行できません。アクセスするサイトはiframe上で実行されるため、画面遷移は可能です。しかし、別タブ内の値を取得するようなことはできません。
参照元:イ-シービーイング・ラボ(https://blog.ecbeing.tech/entry/2021/04/08/114500#Cypressのデメリット)
Cypressは、Chromium系ブラウザとFirefoxにしか対応していないため、SafariやInternet Explorerでは使用することができません(2021年3月調査時点)。したがって、普段よく使用するブラウザに対応していないことにより、活用できない場合もあります。
参照元:イ-シービーイング・ラボ(https://blog.ecbeing.tech/entry/2021/04/08/114500#Cypressのデメリット)
Cypressは、ブラウザ上の操作を記録するツールを搭載していないため、ブラウザ上の操作も全てJavaScriptで書く必要があります。プログラミング言語に精通している人材がいない場合はスクリプト作成に時間がかかるだけでなく、思い通りにサイトを動かすことができない可能性があります。
参照元:イ-シービーイング・ラボ(https://blog.ecbeing.tech/entry/2021/04/08/114500#Cypressのデメリット)
スクリプト作成の手間や、メンテナンスにかかる工数などを考えると、有償ツールの方がコスト削減につながる場合もあります。自社のプロジェクトに必要な性能やサポートを備えているテスト自動化ツールを選択しましょう。
| 商品名 | Ranorex (ラノレックス) |
Autify (オーティファイ) |
|---|---|---|
| 商品タイプ | パッケージ型
膨大なテスト工数を |
SaaS型
初期費用を抑えて |
| 対応テスト |
|
|
| 実行回数 の制限 |
制限なし |
制限あり
400回/1000回/任意 ※プランにより異なる |
| 日本語サポート | 導入後のセミナーが充実! | ヘルプサイトが充実! |
| 体験版 | 14日間 | 14日間 |
※Googleで「テスト自動化ツール」と検索し上位表示されたパッケージ型、SaaS型のテスト自動化ツール21種類の中から、(1)クロスデバイス、マルチブラウザに対応し、(2)日本語のサポートがあり、(3)ノンプログラミングでシナリオ作成が可能なツールをピックアップ(2021年11月1日調査時点)。パッケージ型、SaaS型それぞれの代表商品を選出しました。
【代表商品の選出基準】
☆パッケージ型:上記の条件の通り。
☆SaaS型:上記の条件に加え、公式サイト上に導入事例がもっとも多かったツールを選出。