如何使用AutomationProperties.Name?

Ler*_*rve 11 c# coded-ui-tests

任何人都可以解释(最好用代码示例)如何使用XAML以编程方式和声明方式使用AutomationProperties.Name属性?

说明

据我所知,Visual Studio 2010中的Coded UI Builder将Window的名称作为SearchProperty.

由于我的Window名称发生了变化,我希望我的Coded UI测试可以依赖一个常量的SearchProperty.

在下面的代码示例中,我不希望窗口标题被硬编码为"管道1的属性",因为它会发生变化.

代码示例

[GeneratedCode("Coded UITest Builder", "10.0.30319.1")]
public class UIListViewPropertiesTable1 : WpfTable
{

    public UIListViewPropertiesTable1(UITestControl searchLimitContainer) : 
            base(searchLimitContainer)
    {
        #region Search Criteria
        this.SearchProperties[WpfTable.PropertyNames.AutomationId] = "listViewProperties";
        this.WindowTitles.Add("Properties of Pipe 1");
        #endregion
    }

    #region Properties
    public WpfText NameOfComponent
    {
        get
        {
            if ((this.mNameOfComponent == null))
            {
                this.mNameOfComponent = new WpfText(this);
                #region Search Criteria
                this.mNameOfComponent.SearchProperties[WpfText.PropertyNames.Name] = "Pipe 1";
                this.mNameOfComponent.WindowTitles.Add("Properties of Pipe 1");
                #endregion
            }
            return this.mNameOfComponent;
        }
    }
    #endregion

    #region Fields
    private WpfText mNameOfComponent;
    #endregion
}
Run Code Online (Sandbox Code Playgroud)

链接

下面是一个示例:如何:在数据绑定的WPF列表或组合框上使自动化正常工作.我无法适应窗户.

Mar*_*han 11

您可以使用以下命令在XAML中更改附加属性AutomationProperties.Name:

AutomationProperties.Name ="新名称"

或在代码中使用:

Button.SetValue(AutomationProperties.NameProperty,"new value");

AutomationProperties.SetName(Button,"new value");