我正在尝试定义一个函数,该函数使用 FlaUI 按目标状态展开或折叠给定的 TreeItem,以测试 C# 中的程序。
我能够找到该元素,但我无法访问任何用于展开和折叠 TreeItem 元素的信息或方法。尝试设置currentPattern
变量时出现以下错误。我也不能只在 TreeItem 上运行 Expand 和 Collapse 方法。
错误:
FlaUI.Core.Exceptions.PatternNotSupportedException: 'The requested pattern 'ExpandCollapse [#10005]' is not supported'
我写的函数是:
public TreeItem ToggleTreeNode(string inNodeName, ExpandCollapseState inTargetState, AutomationElement inParentNode = null)
{
TreeItem nodeElement = null; //TreeItem nodeElement = null;
if (inParentNode == null)
{
nodeElement = mSTGOCMainForm.FindFirstDescendant(cf => cf.ByName(inNodeName)).AsTreeItem();
}
else
{
nodeElement = inParentNode.FindFirstDescendant(cf => cf.ByName(inNodeName)).AsTreeItem();
}
// Collapse or Expand
var currentPattern = nodeElement.Patterns.ExpandCollapse.Pattern;
var currentState = currentPattern.ExpandCollapseState.Value;
if (inTargetState != currentState)
{
//Then do the operation
if (inTargetState == ExpandCollapseState.Collapsed)
{
nodeElement.Collapse();
}
else if (inTargetState == ExpandCollapseState.Expanded)
{
nodeElement.Expand();
}
}
return nodeElement;
}
我正在使用 FlaUI.Core 和 FlaUI.UIA2,版本 3.2.0。