所以我在用 White 做一些 C# 自动化/UI 测试时遇到了麻烦 与某事。我在应用程序中有一个 DataGridView,我设置了背景 单元格颜色因应用程序状态而异。我想在使用白色的测试期间检查这些颜色,但在这样做时遇到了问题。
这就是我正在努力工作的内容。我可以获得 GridView ,但只能作为表格。然后,我后来遇到了问题,因为我最终得到的是普通的 TableCells 而不是 DataGridViewCells。
var Table = MainWindow.Window.Get<Table>("DataGridViewName");
var Row = Table.Rows[0];
var Cell = Row.Cells[0];
//invalid
//var Color = Cell.Style.BackColor;
有没有人遇到过这个问题或者有什么建议?
最佳答案
您确定背景颜色是通过 UI Automation 公开的吗? 从我完成的低级 UI 自动化编码来看,我从未见过这样的属性。我刚刚打开 Inspect(类似于 UISpy)并将其指向 C# WinForms 应用程序中的 DataGridView,但没有公开此类属性。
因此,由于它似乎没有暴露,因此没有办法通过自动化来弄清楚它,除非捕获图像并将其与具有某个阈值的某个基线进行比较(听起来一团糟)。
除非您能以某种方式将信息嵌入到其他一些自动化属性中(这需要更改被测应用程序),否则我看不出有任何方法可以做到这一点。 :(
关于c# - 通过 White 访问 DataGridView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220527/