我正在开发一个自动化测试应用程序来测试Web应用程序。在这里,我无法动态地找到由Web应用程序代码创建的控件。他们的财产不断变化。
示例:某些控件不会在首次执行时出现,但会在下次执行时出现。 Web应用程序还将创建XML文件以存储网页中所有控件的信息。
答案 0 :(得分:1)
Tu Huynh。
我使用CUITe (Coded UI Test enhanced Framework)可以做到这一点。
例如,changeset 21564在Sample_CUITeTestProject \ BrowserWindowTests.cs中有一个样本单元测试,如下所示:
[TestMethod]
[WorkItem(608)]
public void GenericGet_WithHtmlControls_GetsControlsDynamically()
{
//Arrange
CUITe_BrowserWindow bWin = CUITe_BrowserWindow.Launch("http://mail.google.com", "Gmail: Email from Google");
//Act
bWin.Get<CUITe_HtmlEdit>("Id=Email").SetText("xyz@gmail.com");
bWin.Get<CUITe_HtmlPassword>("Id=Password").SetText("MyPa$$Word");
bWin.Get<CUITe_HtmlInputButton>("Id=signIn").Click();
bWin.Close();
}
答案 1 :(得分:1)
我在CodedUI中也遇到了很长时间的问题,我通过编辑控件的属性来解决它。我建议你,
(1)转到要查找的动态控件的属性
(2)您可以找到 propertyName,PropertyExpressionOperator&amp;的PropertyValue 即可。
*(example : propertyName = id,
PropertyExpressionOperator = equals,
PropertyValue = button12)*
(3)现在将 PropertyExpressionOperator (即等于)更改为“包含”,并删除在 PropertyValue 中不断变化的值( 即button12 - &gt;按钮)
(4)因此该属性看起来像
*(example : propertyName = id,
PropertyExpressionOperator = contains,
PropertyValue = button)*
(5)现在你可以找到它。
相信它可以帮到你。