CodedUITest - 在WinTree对象中参数化WinTreeItem对象。

时间:2012-07-06 13:39:14

标签: coded-ui-tests

我有一个WinTree个对象,它由三个WinTreeItem个对象组成。我遇到的问题是我需要参数化第一个WinTreeItem(根),这样我就可以选择第一个,第二个或第三个WinTreeItem

以下是我拥有WinTree名称作为属性的WitTreeItem对象的代码。

public class UITree1Tree : WinTree
{

    public UITree1Tree(UITestControl searchLimitContainer) : 
            base(searchLimitContainer)
    {
        #region Search Criteria
        this.SearchProperties[WinTree.PropertyNames.Name] = "Tree Lists:";
        this.WindowTitles.Add("Insert Symbol List");
        #endregion
    }

    #region Properties
    public UITrSymbolLiTreeItem UITradeStationSymbolLiTreeItem
    {
        get
        {
            if ((this.mUITrSymbolLiTreeItem == null))
            {
                this.mUITrSymbolLiTreeItem = new UITrSymbolLiTreeItem(this);
            }
            return this.mUITrSymbolLiTreeItem;
        }
    }

    #endregion

    #region Fields
    private UITrSymbolLiTreeItem mUITrSymbolLiTreeItem;
    #endregion
}

public class UITrSymbolLiTreeItem: WinTreeItem
{

    public UITrSymbolLiTreeItem (UITestControl searchLimitContainer) : 
            base(searchLimitContainer)
    {
        #region Search Criteria
        this.SearchProperties[WinTreeItem.PropertyNames.Name] = "Tr Symbol Lists";
        this.SearchProperties["Value"] = "0";
        this.WindowTitles.Add("Insert Tr List");
        #endregion
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用类的构造函数来传递参数。

OR

向其父级添加属性,并在初始化时设置此属性。 Parent testcontrol将在子级内部可用,因此您的参数也可用。你可以在孩子的任何地方使用这个参数。

我通过这种方式完成了我的项目并且工作正常。