コード化されたUIテストは非常に強力なテストツール、テストプロジェクト(テストエンジニア)のためのUIテスト自動化のVisual Studio 2010のためのフレームワークは、Win32、ウェブ、WPFや他のUIテスト自動化のための支援を提供しているで、コード化されたUIは、自動記録と手動をサポートしています書きます。
コード化されたUIを行うことができます
- アプリケーションを開きます。
- ユーザーアクションをシミュレート
- UI要素を取得します。
- UITestControl:すべてのUIライブラリの基本クラス
- Webテストライブラリ:HtmlControls(HtmlButton、HtmlDiv、など)
- Winフォームテストライブラリ:WinControls(WinMenu、WinWindow、など)
- WPFテストライブラリ:WpfControls(WpfCheckBox、WpfPane、など)
コード化されたUIメイン図書館
- UITestControl:すべてのUIライブラリの基本クラス
- Webテストライブラリ:HtmlControls(HtmlButton、HtmlDiv、など)
- Winフォームテストライブラリ:WinControls(WinMenu、WinWindow、など)
- WPFテストライブラリ:WpfControls(WpfCheckBox、WpfPane、など)
コード化されたUIベースの検証結果
Microsoft.VisualStudio.QualityTools.UnitTesting:类を主張
一般的な方法:IsTrue()、IsFalse()、のIsNull()、AreEqual()
手動でコード化されたUIテストを書きます
原理:マニュアルと同じ原理を書き込むための自動記録が、より柔軟な。自動コード生成記録は、取扱説明書を書き、あなたには、いくつかのカスタムコードを実行し、実際の状況に応じていくつかの一般的なプログラミング方法を使用することができ、その後、メンテナンスを変更することは困難で、より読みやすく管理しやすい複雑すぎる混乱で、コードを作るの公開部分を抽出する汎用関数を記述する方が簡単メンテナンス。
アイデア:
これは、制御プログラムのコントロールをキャプチャするためにいくつかの属性に応じて、テストしたいクリアプログラム、
コントロールのテスト要件に応じて何かをします
情報等の需要抽出、制御状態、テキスト情報、制御の定義、上のコントロール
抽出された情報は、所望の情報と一致します
新しいコード化されたUIテストプロジェクト
- 同上の新しいテストプロジェクトを作成し、コード化されたUIテストを追加
- CodedUITest1.csファイル内のテストメソッドの記述。上記メソッド本体の各々は、プロセス・ツールを実行するためのVS2010発見方法を運ぶ容易にするために、試験方法[のtestMethod]を有するべきです。
- マニュアルコントロールがIEの開発者ツールを使用してページを取得します
操作コード化されたUIのいくつかの方法
HtmlControlsライブラリコール(以下、サンプルプログラム)
- ブラウザを開き:あるオブジェクトをインスタンス化するBrowserWindowクラスを呼び出しBrowserWindow
BrowserWindowブラウザ= BrowserWindow.Launch(新しいウリ( "http://www.baidu.com"))
- 事業部のコントロールを取得します:HtmlDivオブジェクトをインスタンス化するHtmlDivクラスを呼び出します
HtmlDivヘッダ=新しいHtmlDiv(ブラウザ)。
header.SearchPropertiesは[HtmlDiv.PropertyNames.Class] = "s_tab"。
- テキストボックスを取得します:オブジェクトをインスタンス化するHtmlEditクラスを呼び出しHtmlEditです
HtmlEdit txtKeyWord =新しいHtmlEdit(ブラウザ);
txtKeyWord.SearchPropertiesは[HtmlEdit.PropertyNames.Class] = "s_ipt"。
- ボタンを取得します:オブジェクトHtmlInputButtonをインスタンス化するHtmlInputButtonクラスを呼び出します
HtmlInputButton btnSubmit =新しいHtmlInputButton(ブラウザ);
btnSubmit.SearchPropertiesは[HtmlInputButton.PropertyNames.Class] = "s_btn"。
ように、そこにコード内のスマートチップであるか、または適切な方法を見つけるために、MSDNのWebサイトを訪問します
- マウスクリック:Mouse.Click(は、HTMLControl)。
Mouse.Click(btnSubmit)。
- 検証結果:呼び出す様々な方法は、クラスをアサート
Assert.IsTrue(imgLogo.Exists、 "ロゴは存在しません!");
- 完了をロードするようにブラウザを待ち:BrowserWindow .WaitForControlReady();
- プログラムが待機してみましょう:System.Threading.Thread.Sleep(ミリ秒)。