UI Automation无法控制嵌入式浏览器

时间:2011-04-30 10:03:02

标签: c# user-interface ui-automation

这是关于测试桌面应用程序。我一直在尝试单击Windows窗体的嵌入式浏览器上的超链接。如果组件(按钮或其他)是表单的一部分,我可以将鼠标移动到任何地方,但是浏览器中的元素,我似乎无法控制....叹息.....是的,我可以如果我使用屏幕坐标移动鼠标,但我打算使用Watin等控制嵌入式浏览器,而不打开新的IE ....使用Microsoft的UISpy工具(当我将光标悬停在链接上时...显示一个Pane ControlType)....超链接是树结构的一部分,但只有name属性可用...某些父项的属性是空白....

我尝试从下面的链接扩展示例

http://archive.msdn.microsoft.com/uiautomation

这就是我被困住的地方(我也尝试过FindChildByName和其他相关方法......叹气......没有运气):

var commontab=AutomationElement.RootElement.FindFirstChildHavingDescendantWhere(new[] { new PropertyCondition(AutomationElement.NameProperty, "Search")});
Mouse.MoveTo(menutab.GetClickablePoint().ToDrawingPoint()); 
Mouse.Click(MouseButton.Left);


不知何故,鼠标找不到“搜索”超链接......叹息......请大家......任何想法?

1 个答案:

答案 0 :(得分:0)

将此分为两种测试策略是不是一个简单的想法?第一个是测试桌面UI,按钮等。第二个是测试放置在嵌入式浏览器框架中的html。

您不应该测试嵌入式浏览器的工作原理,那就是微软的工作。您可能想要在框架上进行的唯一测试是确保加载内容,调用正确的(内部)网址等。