无法使用White Framework选择一行ListView

时间:2016-01-28 06:33:08

标签: listview white

我正在开发基于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;
                }
            }

还可以采取哪些措施来解决这种问题?

1 个答案:

答案 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的行的实例。