Coded UI 中的行元素验证

Row elements validation in Coded UI

我正在为 asp.net 网络应用程序开发 Coded UI

在其中一项测试中,我需要验证行中的元素是否正确填充。 例如,假设我的搜索条件是 Serial Number 应该从 001 开始。只要我点击搜索按钮,我的结果网格就会填充序列号中具有 001 的所有元素。

如何验证结果网格的所有元素是否正确,即从 001 开始?我知道我必须使用 .contains 验证标准。

但是我应该使用什么代码来 运行 用于检查每一行的循环? 在 c# 中。

这个答案在很大程度上取决于你所说的 populated right

你的网格 rendering/CodedUI-Defined 是 HtmlTable 吗?

如果您的网格有严格的列,您可以只要求符合您条件的单元格。

var cellDef = new HtmlCell(yourHtmlTable);
cellDef.SearchProperties.Add(HtmlCell.PropertyNames.ColumnIndex, "2");
cellDef.SearchProperties.Add(HtmlControl.PropertyNames.InnerText, "YourDynamicValue", PropertyExpressionOperator.Contains);
var matchingCells = cellDef.FindMatchingControls().OfType<HtmlCell>().ToArray();

假设您的列表是动态的,那么您可以验证每个条目是否存在。如果您尝试验证 EVERY 行、其内容和格式。如果是这样,您只需循环每一行并根据您的条件要求每个单元格。

foreach(HtmlRow row in yourTable.Rows)
{
   var idCell = row.GetCell(0);
   var decriptionCell = row.GetCell(1);
   // your code to match your entries
}