我正在开发基于WinForms的应用程序。该窗口有一个控件,显示的是VisualUIAVerify中的ControlType.List。我可以使用Control Type作为ListView和automationId来获取控件的实例。我能够根据Row的名称获取行。但是,当我尝试单击所选行时,它不起作用。我在行上尝试了Click(),RaiseClickEvent(),DoubleClick()和Select()。
以下是代码示例:
ListView lstOrderables = CurrentWindow.Get<ListView>(SearchCriteria.ByAutomationId("lstOrderables"));
foreach(ListViewRow row in lstOrderables.Rows)
{
if (String.Compare(row.Name, "Post TR DAT", true) == 0)
{
row.Click();
break;
}
}
还可以采取哪些措施来解决这种问题?
答案 0 :(得分:1)
我们可以通过以下方式使用SelectedItemPattern实现它:
ListView lstOrderables = automationControl.ControlOfType<ListView>(SearchCriteria.ByAutomationId("lstOrderables"));
foreach(ListViewRow row in lstOrderables.Rows)
{
if (String.Compare(row.Name, "ABC", true) == 0)
{
SelectionItemPattern pattern = (SelectionItemPattern)(BasePattern)row.AutomationElement.GetCurrentPattern(SelectionItemPattern.Pattern);
pattern.Select();
break;
}
}
这将选择名称为ABC的行的实例。