使用TestStack.White

时间:2016-03-29 14:09:17

标签: c# infragistics white

我有一个C#WinForms应用程序,它使用了几个Infragistics组件,包括网格,状态栏等。

我尝试使用TestStack.White自动化UI测试:到目前为止,我已经成功地与常规.net组件进行交互。

我使用Visual UI自动化验证工具来浏览应用程序并找到/访问所需的UI组件。我需要在UltraStatusBar中访问突出显示的超链接的文本。

enter image description here

以下是我使用的C#代码。我可以从主窗口成功获取包含UltraStatuBar的面板,并从该面板成功获取状态栏本身,但不知何故我无法访问UltraStatusBar中的UI组件。

enter image description here

任何提示?

2 个答案:

答案 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
         }
     }