目は嘘をつかないので-ApplitoolsEyesを使用した視覚テスト
公開: 2021-08-17回帰テストは、ソフトウェアに導入された変更が、以前はうまく機能していたものを壊さないことを確認します。 視覚的な回帰テストでは、変更が加えられたためにGUIの問題が発生していないことを確認します。 アプリケーションは、変更が導入される前の状態のままである必要があります。 視覚的な回帰テストツールは、現在のUIのスクリーンショットをキャプチャし、それらを元のスクリーンショットと比較します。 過去の極性を調べ、変更後もさまざまなブラウザでWebページが期待どおりにレンダリングされることを確認します。 Applitools Eyesは、独自のコグニティブビジョンテクノロジーを搭載した、市場で入手可能な最も人気のあるビジュアルテストツールの1つです。
Applitoolsは、クラウドベースのソフトウェアテストツールであるApplitools Eyesを開発しました。このツールは、Web、モバイル、ネイティブアプリのすべての視覚的側面を自動的に検証します。 これらの検証は、手動テスターが行う検証と似ています。 Applitoolsテクノロジーは、UIレイアウト、コンテンツ、および外観の正確さを自動的に検証し、それなしでは手動でしか実行できないテストを自動化できるようにします。 任意のブラウザ、デバイス、OS、プログラミング言語、任意の画面解像度、フォームファクタでアプリをテストできます。

ApplitoolsEyesシステムの概要
さまざまなテスト環境がApplitoolsのさまざまなEyesコンポーネントと相互作用して、ビジュアルUIテストを実装します。 システムは次のコンポーネントで構成されています。
- テスト対象アプリケーション(AUT)。
- AUTに対して実行され、その正確性を検証するテストスイート。
- SDKは、スクリーンショットのキャプチャと視覚的なチェックをトリガーするためにテストスイートコードで呼び出されます。
- AUTに送信できるテストスーツを構築するためのフレームワークを提供するSeleniumやAppiumなどのアプリケーションドライバー。 また、これらを使用してスクリーンショットをキャプチャします。
- サーバーは、SDKから送信されたスクリーンショットを受信して保存します。 保存されているベースライン画像と比較し、違いを報告します。
- Eyes Test Managerは、ユーザーが確認できるテスト結果をユーザーに提供し、ユーザーがバグを報告してベースラインイメージを管理するのに役立ちます。
以下は、コンポーネントが相互作用してテストを実行し、テストチームがテスト結果を表示および管理できるようにする方法の例です。

クレジット:Applitools
ステップ1:テストチームがテストスイートを実行します。 コードは通常、さまざまなアプリケーションの状態に対して次の手順を繰り返します。
ステップ2.1: SeleniumやAppiumなどのドライバーを使用して、マウスクリック、キーボード入力などのユーザーアクションをシミュレートします。
ステップ2.2:それに加えて、Eyes SDK APIが呼び出され、視覚的なチェックポイントが同時に実行されます。
ステップ2.2.a: Eyes SDKは、ドライバーを使用してスクリーンショットを収集します。
ステップ2.2.b:その後、EyesSDKは収集した画像をEyesServerに送信します。 ここで、画像と他のチェックポイント画像は、以前にサーバーに保存されたベースライン画像と比較されます。
ステップ3:テストの画像が処理されると、EyesServerは観察された違いに関する情報を提供します。 これに加えて、結果を表示できるEyesサイトへのリンクが提供されます。
ステップ4:テストチームはEyes Test Managerを使用して、テスト結果を表示し、ベースラインを更新し、バグを報告し、特別な処理が必要な領域に注釈を付けます。 すべての結果を表示した後、テストチームはベースラインを保存します。 これが、次のテスト実行での比較の基礎になります。
Applitoolsには、Web、モバイル、デスクトップのテスト自動化フレームワーク、さまざまなアプリケーションドライバーインフラストラクチャ、プログラミング言語、およびすべての一般的なプラットフォーム、ブラウザー、オペレーティングシステムなど、幅広い人気のあるSDKがあります。 これらのSDKはAUTと直接対話しないため、Eyesはアプリケーションの実装方法とデプロイ方法から完全に独立しています。

ApplitoolsEyesの互換性
Applitoolsには、人気のあるすべてのプログラミング言語とテストランナー向けのSDKがあり、Web、モバイル、デスクトップ、PDF、TV OS、IoT、画像などの完全なテストカバレッジを提供します。
WEB SDK
WEB SDKは、すべての主要なWebテストツールとプログラムをサポートしています。
- Selenium for -Java、JavaScript、C#、Ruby、PHP、Python
- WebdriverIO4、WebdriverIO5、WebdriverIO6
- Selenium IDE
- ヒノキ
- 劇作家(新規追加)
- パペッティア(新規追加)
- TestCafe
- Storybook CSF React(新規追加)、Storybook -React、Angular、Vue
- ワティル
- カピバラ
- 分度器(新規追加)
- UFT / QTP
- リーンCFT#、リーンJavaScript
- コード化されたUI
モバイルSDK
モバイルSDKは、すべての主要なモバイルテストツールとプログラムをサポートしています。
- Appiumネイティブ– C#、Java、JavaScript、PHP、Python、Ruby
- Appium Web-C#、Java、JavaScript、PHP、Python、Ruby
- XCUI Objective-C、XCUI Swift
- エスプレッソ
- CalabashiOSおよびAndroid
スクリーンショットSDK
CLI、C#、Java、JavaScript、PHP、Ruby、XCTest Objective-C、XCTest Swift
デスクトップSDK
Windows UFT、Windowsコード化UI
コードレスツール
PDFフォーム、コードレスIDE
ApplitoolsEyesのテストマネージャー
Eyes Test Managerは、視覚的なUIテストデータへのアクセスを提供するブラウザベースのツールです。 これにより、ユーザーはテスト結果、ベースライン、およびその他のメタデータを管理できます。
Eyes Test Managerは、次の機能を提供します。
- ビジュアルUIテスト実行の結果にアクセスする
- 記録された差異を受け入れるか拒否する
- ステップにコメントを付ける
- 一致レベルを追加し、リージョンを無視します
- ベースラインを更新する
- アプリケーションとテスト名を表示および管理する
- ベースラインとブランチを表示および管理する
- 実行環境の表示と管理
- ベースラインブランチを比較してマージする
- アカウント、チーム、ユーザーを管理する
ユーザーがテストとテストケースを整理するのに役立つ、Eyesに統合された他のさまざまなツールと概念があります。 そのようなツールの1つがベースラインです。 目視検査プロトコルは、キャプチャされた画像を、前回のテスト実行でベースラインに保存された画像と比較します。 テストを実行するたびに、ルックアンドフィールを変えることができます。 目にはテストごとに多くのベースラインがあり、各ベースラインは選択された環境を表します。 これらの各ベースラインは、一連の画像参照を保存できます。
ビジュアルテストが実行されると、アプリケーションは一連のアプリケーション状態を介して駆動され、各状態に対してチェックポイントが実行され、その状態のアプリケーションのイメージがキャプチャされます。 目は、キャプチャされた一連の画像を、そのテストのベースラインに保存されている一連の参照画像と比較し、有意差を報告します。 ベースライン内のイメージはテストの実行に依存しますが、オペレーティングシステム、ブラウザーの種類、ビューポートのサイズなどの他の要因にも依存する可能性があります。 これらの要素は実行環境と呼ばれます。
ビューポートは、アプリケーションウィンドウ内のアプリケーションの視覚領域です。 ビューポートのサイズも、任意のページのレイアウトに影響を与える可能性があります。 たとえば、ブラウザのサイズを変更すると、レンダリングされたテキストの外観が変わる場合があります。 メニューなどの要素を含む応答性の高いページは、サイズによって表示が異なる場合があります。 フォントや画像のサイズが変わる場合があります。 注:ビューポートはプラットフォーム固有です。