コード化された UI テスト自動化フレームワークのチュートリアル
典型的なソフトウェア自動化 テスト のような自動化ツールが必要です Selenium そしてQTP。 コード化された UI はこれらのツールに似ており、機能テストに特に役立ちます。
コード化されたUIテスト(CUIT)は、Visual Studio IDEを使用してスクリプトを記述します。記録は次のように行うことができます。 Visual Studioの.
コード化された UI テストとは何ですか?
コード化された UI テスト (CUIT) ユーザー インターフェイス (UI) を通じてアプリケーションを駆動する自動テストです。 したがって、Coded UI Test (CUIT) という名前が付けられました。 このテストには以下が含まれます 機能テスト UI コントロールの。 ユーザー インターフェイスを含むアプリケーション全体の機能をチェックします。 既存の手動テストを自動化するためにも使用されます。

UIテスト Archi構造
コード化された UI テスト機能
コード化された UI 機能には次のものがあります。
- 機能テスト
- VB/C# でコードを生成する
- ALM ストーリーとの統合
- ラボ内で、またはビルドの一部としてビルド、デプロイ、テストを行う
- ローカル、リモート実行、データ収集
- 豊富な拡張性
- 意図を認識した録音と復元力のある再生
コード化された UI テスト (CUIT) がサポートするテクノロジ
コード化された UI を使用すると、UI (ユーザー インターフェイス) を備えたアプリケーションを簡単にテストできます。 アプリケーションはウィンドウ ベースまたは Web ベースのいずれかになります。
コード化された UI は次のようなテクノロジーをサポートします。
- ウィンドウベースのデスクトップアプリケーション
- Web サービス (SOAP、ASPX など)
- 窓際電話アプリケーション
- WPF (Windows プレゼンテーション Foundation)
- Web アプリケーション (HTML、Silverlight、HTML5)
テスト自動化にコード化された UI を使用する理由
テスト自動化にコード化された UI が好まれる理由
- 開発者とソフトウェア テスターは、同じツール/言語を使用して効果的に共同作業できます。
- Web と両方をサポートします Windows プロジェクト。
- 要素識別メカニズムはCoded UIの優れた機能です。また、同期もサポートしています。
- 再生エンジンは、 'WaitForControlExist' 、 'WaitForReadyLevel' などの機能をサポートします。
- 「テスト エージェント」を利用すると、リモート マシン上で自動テストを実行できます。
- 自動化チームは、階層化されたフレームワークを備えたコード化された UI を使用して、高度なテストを開発できます。
- ソフトウェア テスターは、log4net.dll を効果的に利用して例外をキャプチャし、結果を記録できます。
- コード化された UI ツールのサポート 記述的プログラミング。 ソフトウェア テスターはオブジェクトのプロパティに基づいてシナリオを自動化できます。
- AJAX コントロールをサポートします。
コード化された UI テストを作成する方法 (CUIT)
コード化された UI テストを作成するには、次の方法があります。
- 既存のアクション記録からの生成 (手動テスト記録からの変換)
- 新しいコード化された UI テストを最初から作成する
- コードを最初から書く
コード化された UI テストの内容
コード化された UI テストを作成すると、コード化された UI テスト ビルダーによってマップが作成されます。 これには、テスト対象の UI、テスト メソッド、パラメーター、アサーションなどが含まれます。テストごとに、クラス ファイルも作成されます。
File | コンテンツ | 編集可能 |
---|---|---|
UIMap.Designer.cs | 宣言セクション UIMap クラスのメソッドのプロパティ | いいえ |
UIMap.cs | UIMap クラス (部分的) | あり |
CodedUITest1.cs | CodeUITest1 クラスのメソッド プロパティ | あり |
UIMap.uitest | テスト用の UI の XML マップ。 UI マップ エディターを介してのみ編集されます | いいえ |
- UIMap.Designer.cs : デザイナーには、UIMap のコード ビューが含まれています。 これは、テスターが UI インタラクションを記録するとき、またはいくつかのオブジェクトが手動で UIMap に追加されるときに生成されます。
- UIMap.cs: UIMap に対して行われた変更やカスタマイズはすべてこのファイルに保存されます。最初はこのファイルは空白で、後で入力できます。UIMap.designer.cs ファイルに直接変更を加えた場合は、変更が記録されないようにしてください。記録されないと、すべての変更が失われます。
- CodedUITest1.cs: このファイルには、コード化された UI テスト クラス、テスト メソッド、アサーション呼び出し、およびメソッド呼び出しが含まれています。 すべてのアサーションとメソッドはデフォルトでこのファイルから呼び出されます。
- UIMap.uitest: UIMap クラスの XML 表現です。ウィンドウ、コントロール、プロパティ、メソッド、アクション、アサーションが含まれます。UI マップ エディターでのみ編集できます。
次に、このコード化された UI チュートリアルでは、コード化された UI 自動テストを実行する方法を学習します。
コード化された UI テストを実行する方法
コード化された UI には、アプリケーションのテストを実行する XNUMX つの異なる方法があります。
- コード化された UI の記録と再生、または
- コード化された UI ハンドコーディング
コード化されたUIテストを実行するには、次の手順に従う必要があります。
- CodedUI テスト プロジェクトを作成する
- コード化された UI テスト ファイルを追加する
- 一連のアクションを記録する
- テキストボックスなどのUIフィールドの値を確認する
- 生成されたテストコードを表示する
- さらにアクションとアサーションを追加する
- テストアクティビティとアサーションの詳細を編集する
- テストを実行します
コード化された UI テスト (CUIT) のベスト プラクティス
コード化された UI テスト自動化フレームワークのベスト プラクティスをいくつか示します。
- 可能な限り、コード化された UI 自動化テスト ビルダーを使用します。
- UIMap.designer.csファイルを直接変更しないでください。そうしないと、ファイルに加えた変更が上書きされてしまいます。
- 記録されたメソッドのシーケンスとしてテストを作成します
- 記録された各メソッドは、単一のページ、フォーム、またはダイアログ ボックスで動作する必要があります。また、新しいフォーム、ページ、またはダイアログ ボックスごとに新しいテスト メソッドを作成します。
- メソッドを作成するときは、デフォルト名の代わりに意味のあるメソッド名を使用します。 意味のある名前はメソッドの目的を識別するのに役立ちます
- 可能であれば、記録される各メソッドは 10 アクション未満に制限してください。 このアプローチにより、UI が変更された場合にメソッドを簡単に置き換えることができます。
- アサーションを作成するには、CodedUI テスト ビルダーを使用します。 アサーション メソッドが UIMap.Designer.cs ファイルに自動的に追加されます。
- ユーザー インターフェイスが変更されるか、既存のテスト メソッドの影響を受けるセクションが再記録される場合は、テスト メソッド/アサーション メソッドを再記録します。
- API を使用して直接コーディングしている場合は、UIMap.Designer.cs ファイルで作成されたクラスのメソッドとプロパティを使用します。 これらのクラスにより、作業の信頼性と作業がより簡単になり、生産性が向上します。
コード化された UI テストとテストの比較 Selenium vs QTP
以下は、コード化された UI とコード化された UI の比較表です。 Selenium 対 QTP:
- Selenium WPF もサポートしていません Windows
- Visual Studio CodedUI は、Windows ストア アプリケーションのテストと Window Phone アプリケーションのテストをサポートしています。 これをサポートする他のツールはありません。
- テスト完了は Windows アプリケーションをサポートしますが、プラグインをインストールする必要があります。
コード化された UI テストとテストの比較 Selenium vs QTP
概要
- ユーザー インターフェイス (UI) を通じてアプリケーションを実行する自動テストは、CodedUI テスト (CUIT) として知られています。
- コード化された UI テスト自動化フレームワークは、Web サービス、Window Phone アプリケーション、Web アプリケーションなどのテクノロジをサポートします。
- コード化された UI テストにより、開発者は次のことを行うことができます。 ソフトウェアテスター 同じツール/言語を使用して効果的にコラボレーションする
- CodedUI の使用中に作成されたコンテンツまたはファイルには次のものが含まれます
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.uitest