CUIT(编码的UI测试) - 找到动态控件

时间:2012-09-17 23:10:17

标签: visual-studio-2010 web-controls coded-ui-tests

我正在开发一个自动化测试应用程序来测试Web应用程序。在这里,我无法动态地找到由Web应用程序代码创建的控件。他们的财产不断变化。

示例:某些控件不会在首次执行时出现,但会在下次执行时出现。 Web应用程序还将创建XML文件以存储网页中所有控件的信息。

2 个答案:

答案 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)现在你可以找到它。

相信它可以帮到你。