我对UI自动化和UI验证工具非常陌生。
在我们的应用程序中,我们使用的是System.Windows.Forms.ListView,CheckBoxes属性设置为true。
CheckBoxes属性允许您在列表中的每个项旁边显示一个复选框。这使应用程序能够显示项列表(如果视图属性设置为View.Details,则显示子项)
到目前为止,每个行中的单个行和所有值都是标识的。只有复选框不能被UI验证所识别。
命名空间WindowsFormsApplication1 {公共部分类Form1 :表单{ public Form1() { InitializeComponent()
listView1.CheckBoxes = true;
listView1.View = View.Details;
listView1.Columns.Add("Automation");
listView1.Columns.Add("result");
listView1.Items.Add(new ListViewItem(new string[] { "1", "Pass" }));
}}
输出: UIA确认两个值"1“和"pass”。但是,复选框未被识别。
还有其他人有过类似的行为吗?如果是的话,有什么解决办法吗?
非常感谢你的帮助。
你好Hari Hara
发布于 2014-10-14 23:50:18
根据我所看到的,整个列表项目支持切换模式。

因此,您应该能够使用行控件本身的切换模式。
/// <summary>
/// Toggles anything that supports the toggle pattern
/// </summary>
/// <param name="aeElement">Automation element to toggle</param>
public void Toggle(AutomationElement aeElement)
{
TogglePattern tpToggle = (TogglePattern)aeElement.GetCurrentPattern(TogglePattern.Pattern);
tpToggle.Toggle();
}发布于 2014-10-11 08:46:11
你在使用“悬停”模式吗?尝试检查UIA验证器窗口左侧窗格中复选框项附近的窗格结构。
https://stackoverflow.com/questions/25525512
复制相似问题