对于遵循以下层次结构
的类,我有 DataTemplate
我已经为每个控件提供了 AutomationId 。 当我尝试使用编码的UI测试构建器检测突出显示的边框时,我无法找到它。而我直接将Checkbox放在其中一个子控件中。
由于此问题,我无法自动执行此父控件(Border)。 如果我放置 GroupBox 而不是Border,我可以获得此控件。
发布了实际的datatemplate Here
请帮忙。
答案 0 :(得分:1)
您应该能够使用Coded UI Test Builder的十字准线来达到关卡。只需用十字线指向它,当它指向复选框时,使用箭头导航树。
另一个建议是使用C#手动将其添加到地图中。这可以通过为控件指定标识属性来完成。但是,我认为您可能无法使用AutomationProperties.Name
或AutomationProperties.AutomationId
。您可以更好地添加Name property to the border并使用该功能识别控件。
所以:
public HtmlControl BorderOrangeBorder
{
get
{
HtmlControl target = new HtmlControl([browser]);
target.SearchProperties["name"] = "OrangeBorder";
return target;
}
}