通过白色访问DataGridView单元格

ssh*_*nin 7 c# forms automation datagridview white-framework

所以我正在用White进行一些C#自动化/ UI测试,并且遇到了麻烦.我在应用程序中有一个DataGridView,我根据应用程序状态设置不同的背景单元格颜色.我想在使用White的测试期间检查这些颜色,但是我很难这样做.

这就是我想要做的工作.我可以获得网格视图,但只能作为表格.然后,我以后遇到问题因为我最终使用普通的TableCell而不是DataGridViewCells.

var Table = MainWindow.Window.Get<Table>("DataGridViewName");
var Row = Table.Rows[0];
var Cell = Row.Cells[0];
//invalid
//var Color = Cell.Style.BackColor;
Run Code Online (Sandbox Code Playgroud)

有没有人遇到这个或有任何建议?

Sam*_*dra 1

您确定背景颜色是通过 UI 自动化暴露的吗?从我完成的低级 UI 自动化编码来看,我从未见过这样的属性。我刚刚打开 Inspect(类似于 UISpy)并将其指向 C# WinForms 应用程序中的 DataGridView,并且没有公开此类属性。

因此,由于它似乎没有暴露,所以无法通过自动化来弄清楚它,除非捕获图像并将其与具有某个阈值的某些基线进行比较(听起来像一团糟)。

除非您可以以某种方式将信息嵌入到其他一些自动化属性中(这需要更改测试中的应用程序),否则我看不到任何方法可以做到这一点。:(