我有一个C#WinForms应用程序,它使用了几个Infragistics组件,包括网格,状态栏等。
我尝试使用TestStack.White自动化UI测试:到目前为止,我已经成功地与常规.net组件进行交互。
我使用Visual UI自动化验证工具来浏览应用程序并找到/访问所需的UI组件。我需要在UltraStatusBar中访问突出显示的超链接的文本。
以下是我使用的C#代码。我可以从主窗口成功获取包含UltraStatuBar的面板,并从该面板成功获取状态栏本身,但不知何故我无法访问UltraStatusBar中的UI组件。
任何提示?
答案 0 :(得分:0)
您是否尝试过使用White的UIAComWrapper分支?我发现没有MS Automation 3.0(UIAComWrapper包装的内容)就无法访问很多Infragistics控件。
答案 1 :(得分:-1)
您似乎使用 UIA验证2.0 ,它会显示使用UIComWrapper可以看到的内容。 White使用MS UI Automation而不使用UICom。
可能的解决方案 - 尝试通过本机MS UI Automation查找控件,如果它是白人问题
var elementsCollection = statusBar.AutomationElement.FindAll(TreeScope.Children, Condition.TrueCondition);
foreach (AutomationElement element in elementsCollection)
{
if (element.Current.AutomationId.Contains("lblFileName"))
{
//do what you need
}
}