Я хочу автоматизировать приложение 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);
}