C# UI自动化在应用程序中添加了新的父窗口

C# UI自动化在应用程序中添加了新的父窗口,c#,ui-automation,coded-ui-tests,C#,Ui Automation,Coded Ui Tests,我已经使用编码的UI框架自动化了一个应用程序,并且以模块化的方式组织了UIMaps。现在,我的应用程序包含在另一个应用程序中,也就是说,有另外一个或两个父窗口添加到我的现有应用程序中。如何在不重新记录UI映射的情况下修改自动化以使用此新结构?如果它实际上只是一个额外的父对象/元素/窗口,或者在其他相同的父对象/元素/窗口之上的两个,那么您可以为新的父对象/元素/窗口创建一个类,并使用原始的扩展来代替WinWindow 因此,如果您最初有以下内容: public class OriginalWin

我已经使用编码的UI框架自动化了一个应用程序,并且以模块化的方式组织了UIMaps。现在,我的应用程序包含在另一个应用程序中,也就是说,有另外一个或两个父窗口添加到我的现有应用程序中。如何在不重新记录UI映射的情况下修改自动化以使用此新结构?

如果它实际上只是一个额外的父对象/元素/窗口,或者在其他相同的父对象/元素/窗口之上的两个,那么您可以为新的父对象/元素/窗口创建一个类,并使用原始的扩展来代替WinWindow

因此,如果您最初有以下内容:

public class OriginalWindowView : WinWindow
{
    public OriginalWindowView()
    {
        this.SearchProperties[WinWindow.PropertyNames.???] = "something";
    }

    //child properties of this window here...
}
。。。您只需使用正确的搜索属性为新父级创建一个新类:

public class NewWindowView : WinWindow
{
    public NewWindowView()
    {
        this.SearchProperties[WinWindow.PropertyNames.???] = "somethingelse";
    }
}
。。。然后将其从原来的

public class OriginalWindowView : NewWindowView