我喜欢使用Microsoft UI Automation测试应用程序,但我却陷入触发树项目的双击事件。
Dim parent As AutomationElement
Dim child As AutomationElement
parent = <Code to retrieve parent element>
'expand the parent item
DirectCast(parent.GetCurrentPattern(ExpandCollapsePattern.Pattern), ExpandCollapsePattern).Expand()
'retrieve the child
child = parent.FindFirst(TreeScope.Descendants, New PropertyCondition(AutomationElement.NameProperty, <Name of the child element>))
这个child
对象是有问题的树项目,但它只提供ExpandCollapsePattern
和SelectionItemPattern
,它们都无助于触发双击事件
我试图扩展这个项目,以便可能以这种方式触发双击事件,但我只是告诉我扩展是不可能的。
那么,我错过了什么?
非常感谢你。
答案 0 :(得分:0)
我已经通过免费的Microsoft.TestAPI库(通过此问题找到了该库)做到了这一点。
Given an Automation Element how do i simulate a single left click on it
using Microsoft.Test.Input;
var p = myTreeNode.GetClickablePoint();
Mouse.MoveTo(new Point((int)p.X, (int)p.Y));
Mouse.DoubleClick(MouseButton.Left);
从Windows.Point转换为Drawing.Point可能是更好的方法,但是上面的方法对我有用。