Что делать, когда codedui не распознает ничего под деревом - PullRequest
0 голосов
/ 14 января 2019

Я хочу автоматизировать приложение winform, которое включает в себя реализацию собственного дерева, codedui распознает только дерево, но не распознает ничего под деревом и даже не щелкает точки на дереве, которое оно распознало. (Я также открыт для советов, почему записанные точки на дереве не нажимаются при воспроизведении?)

Вот структура дерева, все узлы имеют один подузел уровня

 Node 1
   Sub Node 1a
   Sub Node 1b
   Sub Node 1c
   ...
 Node 2
   Sub Node 2a
   Sub Node 2b
   Sub Node 2c
   ...
 Node ...

Итак, я попытался щелкнуть узлы дерева программно. Я попытался получить узлы по имени, но не сработал и попытался получить узлы 0 узла 0, как показано ниже, но получил ошибку

   WinTree uITVTree = this.UIProMANAGEWindow.UIReportsWindow.UITVWindow.UITVTree;

        uITVTree.DrawHighlight();

        TreeNode treeNode = uITVTree.Nodes[0].Nodes[0];

и я получаю предупреждение ниже в IDE

UITestControl не содержит «Узлы», и доступный метод расширения «Узлы», принимающий первый аргумент типа «UITestControl», не найден

Интересно, есть ли решение, которое щелкает узлы в порядке следования имен, например, щелкает первый подузел узла 1?

Ниже код выполняется только 2 раза в цикле foreach, и он работает так медленно, что я не могу получить значащие строки в поле messega. Я не знаю, как я могу щелкнуть отдельные узлы в коде, даже если я когда-нибудь получу их в цикле foreach. В приведенном ниже утверждении setProperty не работает. (выдает ошибку, но на экране ничего не меняется)

        UITestControlCollection childNodes = uITVTree.Nodes;
        foreach (UITestControlnode in childNodes)
        {
            MessageBox.Show(node.ToString());
            node.SetProperty(WinTreeItem.PropertyNames.Selected, true);
        }

1 Ответ

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

Пользовательские элементы управления должны быть доступны для использования в тестах с закодированным пользовательским интерфейсом. Вам нужно будет предоставить определенные свойства (имя элемента управления, координаты и т. Д.) Из пользовательского элемента управления, чтобы ваш кодированный тест пользовательского интерфейса мог работать с ним. Изучите этот пример из Ranorex, он должен дать вам некоторое представление о том, как этого добиться для контроля формы win. Еще один ресурс, который может быть полезен.

Объяснение того, что координаты не нажимаются, может заключаться в том, что элемент управления заблокирован другим элементом управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...