我有一个控件,它是父级的第一个子级,但在父级和控件中没有什么是唯一的。我可以找到Scond子代的独特属性,因此我需要找到第二个子代的前一个兄弟姐妹
发布于 2016-02-13 22:56:35
这可以通过在控件上使用SearchConfiguration属性来实现。您要做的是搜索label,然后实例化一个WinEdit控件并将其传递到label搜索控件中。接下来,在WinEdit实例上设置SearchConfiguration.Add(SearchConfiguration.NextSibling),这将搜索文本标签的下一个同级。在代码示例中,这看起来如下所示:
var app = ApplicationUnderTest.Launch(@"yourapplication.exe");
var mainWindow = new WinWindow(app);
mainWindow.WindowTitles.Add("Form1");
WinText textLabel = new WinText(mainWindow);
textLabel.SearchProperties.Add(WinControl.PropertyNames.Name, "Some Text Label");
WinEdit siblingEditControl = new WinEdit(textLabel);
siblingEditControl.SearchConfigurations.Add(SearchConfiguration.NextSibling);
siblingEditControl.Text = "setting the text";发布于 2016-11-16 21:40:04
没有获得兄弟姐妹的直接方法。查找控件同级的一种方法是查找其父控件,然后查找该父控件的所有子控件。接下来,搜索子控件以找到当前控件,然后获取前一个控件。该方法可能基于以下内容。它使用控件的Name字段进行比较,这对于一般情况可能是不正确的,我建议尝试其他值。
public UITestControl GetPreviousSibling(UITestControl uitc)
{
UITestControlCollection siblings = uitc.GetParent().GetChildren();
// Note that 'sibings[0]' has no predecessor
for (int ii=1; ii<siblings.Count)
{
if (uitc.Name == siblings[ii].Name)
{
return siblings[ii - 1];
}
}
return null;
}“兄弟姐妹”的定义并不明确。此MSDN blog提供了兄弟的一些详细信息。
https://stackoverflow.com/questions/35224353
复制相似问题