【问题标题】:UI Automation cannot control embedded browserUI 自动化无法控制嵌入式浏览器
【发布时间】:2011-04-30 18:54:32
【问题描述】:

这是关于测试桌面应用程序的。我一直在尝试单击 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);


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

【问题讨论】:

    标签: c# user-interface ui-automation


    【解决方案1】:

    将其拆分为 2 个测试策略不是一个更简单的想法吗?首先是测试桌面用户界面、按钮等。第二个是测试要放置在嵌入式浏览器框架中的html。

    您不应该测试嵌入式浏览器是否工作,这是微软的工作。您可能想要对框架进行的唯一测试是确保其内容已加载,调用是对正确的(内部)url 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多