我一直在使用 VS2010 的 Coded UI Test(CUIT) 功能。
CodedUI 框架在录制时会生成大量的分层类。
我想知道(手动)编码 CUIT 是否会减少创建的代码,它是否会像生成的代码一样优化(在搜索元素中)?
还有哪些场景可以手动编码 CUIT?
我一直在使用 VS2010 的 Coded UI Test(CUIT) 功能。
CodedUI 框架在录制时会生成大量的分层类。
我想知道(手动)编码 CUIT 是否会减少创建的代码,它是否会像生成的代码一样优化(在搜索元素中)?
还有哪些场景可以手动编码 CUIT?
CUITe(编码 UI 测试增强)框架适用于喜欢手工编码的人。 http://cuite.codeplex.com/
CUITe 是在 Microsoft Visual Studio Team Test 的 Coded UI Test 引擎之上开发的一个薄层,它有助于减少代码、提高可读性和可维护性,同时还为自动化工程师提供了一系列很酷的功能。
CUITe 允许您定义一个更简单的对象存储库 (== UIMap)。每个页面/窗口都将在一个单独的类文件中定义,每个 UI 控件定义将只是一个衬里。您可以将通用控件移至父类,从而提高可维护性。您还可以将页面/窗口定义类分类到您认为合适的不同文件夹中。
我一直致力于编码 UI,据我了解,记录/生成的代码太复杂且难以维护。
我总是使用手工编码,简单易维护。
这是Silver-light 应用程序的完整示例手工编码的 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");
}
谢谢,
您可能会手工编写更少的代码,但它的可维护性可能会降低并且更容易出错。在生成代码后,您可以使用分部类有效地覆盖搜索子句。