无法单击具有空值的 ListViewCell
Cannot click ListViewCell with null value
我正在开发的测试通过以下方式访问 DataGrid 单元格:
window.Get<ListView>(gridName).Rows.First().Cells.First()
然后使用 UIItem.Click()
方法单击单元格可以正常工作,除非单元格绑定到空值。在这种情况下,我得到一个例外:
Failed to click on ListViewCell. AutomationId:, Name:, ControlType:text, FrameworkId:WPF, bounds empty
很明显,与该单元格相关的 AutomationElement 是 0 边界的 TextBlock。
是否有一些可能的解决方法来单击这样的单元格以使测试有效?
以下似乎是一个足够好的解决方法:
this.window.Mouse.Location = Point.Subtract(cellToClick.ClickablePoint, new Vector(12, 6));
this.window.Mouse.Click(this.window.Mouse.Location);
所以我只是使用 属性 TestStack.White.UIItems.Mouse
设置鼠标位置,使其位于单元格的正上方,然后单击。
我正在开发的测试通过以下方式访问 DataGrid 单元格:
window.Get<ListView>(gridName).Rows.First().Cells.First()
然后使用 UIItem.Click()
方法单击单元格可以正常工作,除非单元格绑定到空值。在这种情况下,我得到一个例外:
Failed to click on ListViewCell. AutomationId:, Name:, ControlType:text, FrameworkId:WPF, bounds empty
很明显,与该单元格相关的 AutomationElement 是 0 边界的 TextBlock。 是否有一些可能的解决方法来单击这样的单元格以使测试有效?
以下似乎是一个足够好的解决方法:
this.window.Mouse.Location = Point.Subtract(cellToClick.ClickablePoint, new Vector(12, 6));
this.window.Mouse.Click(this.window.Mouse.Location);
所以我只是使用 属性 TestStack.White.UIItems.Mouse
设置鼠标位置,使其位于单元格的正上方,然后单击。