Не могу вручную определить объект wintree в codedui - PullRequest
0 голосов
/ 15 января 2019

Я хотел вручную определить объект wintree, как описано для некоторых других элементов управления в ссылке ниже https://www.evoketechnologies.com/blog/windows-automation-testing-coded-ui/

Сначала я определил объект wintree в файле UIMap, как показано ниже

    public WinTree WinTreeObject()
    {
    var winTreeProps = new WinTree(WinWindow) { TechnologyName = "MSAA" };
    winTreeProps.SearchProperties.Add("ControlName", "tv");
        winTreeProps.WindowTitles.Add("ProMANAGE ( admin @ Demo )");
    return winTreeProps;
    }

Я так называю в коде (это исключение VS предупреждает, если я не использую паразиты для WinTreeObject)

     WinTree uITVTree1 = this.WinTreeObject();

Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnBlockedControlException: еще один элемент управления блокирует элемент управления. Пожалуйста, сделайте заблокированный элемент управления видимым и повторите действие. Дополнительные детали: TechnologyName: «MSAA» ControlType: 'Tree' ---> System.Runtime.InteropServices.COMException: HRESULT .. 0xF004F003

А вот как это определено в файле конструктора, когда я взял запись

    public WinTree UITVTree
    {
        get
        {
            if ((this.mUITVTree == null))
            {
                this.mUITVTree = new WinTree(this);
                #region Search Criteria
                this.mUITVTree.WindowTitles.Add("ProMANAGE © ( admin @ Demo )");
                #endregion
            }
            return this.mUITVTree;
        }
    }

1 Ответ

0 голосов
/ 21 января 2019

Вы всегда можете определить объект Wintree с помощью закодированного пользовательского интерфейса. Один из способов заключается в следующем:

Private WinTree ProductivityTree
{
    get
       {
           WinTree wintreeObj= new WinTree(parentobj);
           WintreeObj.searchproperties.add(Wintree.PropertyNames.Name,"treeTest");
           return wintreeObj;
         }
}

Ошибка, которую вы получаете (то есть заблокированный элемент управления), возникает, когда под иерархией имеется больше элементов управления, и вы пытаетесь получить доступ к элементу управления выше.

Вы можете проверить иерархию с помощью построителя тестов.

...