私はVS2010のCoded UI Test(CUIT)機能を使用しています。
CodedUIフレームワークを記録するときに、多くの階層クラスが生成されます。コード化されたUIテストをコード化する手
私はCUITをコード化して(手作業で)作成したコードを減らし、生成されたコードとして(要素を検索して)最適化するのだろうかと思っていましたか?
また、CUITを手作業でコード化できるシナリオは何ですか?
私はVS2010のCoded UI Test(CUIT)機能を使用しています。
CodedUIフレームワークを記録するときに、多くの階層クラスが生成されます。コード化されたUIテストをコード化する手
私はCUITをコード化して(手作業で)作成したコードを減らし、生成されたコードとして(要素を検索して)最適化するのだろうかと思っていましたか?
また、CUITを手作業でコード化できるシナリオは何ですか?
CUITe(コード化されたUIテストの強化)フレームワークは、手のコーディングを好む人々のためです。 http://cuite.codeplex.com/
CUITeものためのクールな機能の束を提供しながらは、読みやすさと保守を高め、コードを減らすことができますMicrosoft Visual Studioチームテストのコード化されたUIテストエンジンの上に開発された薄い層であり、オートメーションエンジニア。
CUITeでは、より簡単なオブジェクトリポジトリ(== UIMap)を定義できます。各ページ/ウィンドウは別のクラスファイルで定義され、各UIコントロールの定義は1つのライナーにすぎません。共通コントロールを親クラスに移動すると、保守性が向上します。また、ページ/ウィンドウ定義クラスを、適切と思われる異なるフォルダに分類することもできます。
私はv1.0.1以来CUITeを使用してきました。 :) –
コードを手書きで書くことはできますが、保守性が低く、壊れやすい可能性が高くなります。パーシャルクラスを使用すると、コードが生成された後に検索句を効果的にオーバーライドすることができます。
私はコード化されたUIで作業してきましたが、記録された/生成されたコードはあまりにも複雑で、維持するのが難しいからです。
私はいつもシンプルで保守しやすいハンドコーディングを使用しています。ここで
が完全なサンプルはシルバーライトのアプリケーションのために
[TestMethod]
public void SilverlightHANDCODINGTest()
{
BrowserWindow br = BrowserWindow.Launch(@"http://localhost:1377/SilverlightApplication1TestPage.html");
UITestControl sCustom = new UITestControl(br);
sCustom.TechnologyName = "Web";
sCustom.SearchProperties.Add("ControlType", "Custom");
sCustom.SearchProperties.Add("TagName", "OBJECT");
sCustom.SearchProperties.Add("Type", "application/x-silverlight-2");
sCustom.SearchProperties.Add("TagName", "OBJECT");
// sCustom.DrawHighlight();
SilverlightControl sframe = new SilverlightControl(sCustom);
sframe.TechnologyName = "Silverlight";
sframe.SearchProperties.Add(SilverlightControl.PropertyNames.MaxDepth, "-1");
sframe.DrawHighlight();
SilverlightEdit sTextBox = new SilverlightEdit(sCustom);
sTextBox.TechnologyName = "Silverlight";
sTextBox.DrawHighlight();
Playback.Wait(2000);
sTextBox.SetProperty(SilverlightEdit.PropertyNames.Text, "Thank god");
SilverlightButton sButton = new SilverlightButton(sCustom);
sButton.TechnologyName = "Silverlight";
sButton.SearchProperties.Add(SilverlightButton.PropertyNames.DisplayText, "Button");
sButton.DrawHighlight();
Playback.Wait(2000);
Mouse.Click(sButton);
SilverlightComboBox sComboBox= new SilverlightComboBox(sCustom);
sComboBox.TechnologyName = "Silverlight";
sComboBox.DrawHighlight();
Playback.Wait(2000);
sComboBox.SetProperty(SilverlightComboBox.PropertyNames.SelectedItem,"Kishore");
}
おかげ手コード化されたUIスクリプトで、
UIMapsを作成しないと言っていますか?このコードの多くは、テスト仕様をテスト実装から分離するためのテスト方法ではなく、UIMapファイルに入れなければならないようです。また、コード化されたUI APIについてよく知っている必要があるようですが、 – EdmundYeung99
@ EdmundYeung99のようなコードを書くことができますが、実際には手のひらのコードの良い例だと思います。 –
Test Recorderがコントロールを見つけることができない場合があります。または、コンテナコントロールのウィンドウタイトルが動的である場合 – CoffeeCode