当 codedui 不识别树下的任何东西时该怎么办

What to do when codedui does not recognize anything below a tree

我想自动化一个包含自定义树实现的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 不包含 'Nodes' 并且找不到接受类型 'UITestControl' 的第一个参数的可访问扩展方法 'Nodes'

不知是否有解决方案,不管名称如何,都按顺序点击节点,比如点击节点 1 的第一个子节点?

下面的代码在 foreach 循环中只运行了 2 次,而且运行速度很慢,我无法在 messega 框中获取有意义的字符串。我不知道如何单击代码中的各个节点,即使我曾经让它们进入 foreach 循环。在下面的语句中,setProperty 不起作用。 (确实报错但屏幕上没有任何变化)

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

自定义控件需要可访问才能在编码 UI 测试中使用。 您需要从您的自定义控件中公开某些属性(控件名称、坐标等),以便您的编码 UI 测试可以使用它。 研究来自 Ranorex 的 this 示例,它应该会让您对如何为 winform 控件实现这一点有一些见解。 Another 可能有用的资源。

没有被点击的坐标的解释可能是该控件被另一个控件阻止了。