这是关于测试桌面应用程序的。我一直试图点击一个Windows窗体的嵌入式浏览器上的超链接。如果组件(按钮或其他)是表单的一部分,我可以将鼠标移动到任何地方,但是浏览器内部的元素,我似乎无法控制....叹息.....是的,如果我使用屏幕坐标,我可以移动鼠标,但我计划使用Watin等来控制嵌入式浏览器,而不打开一个新的IE....使用微软的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);
不知怎么的,鼠标找不到"搜索"超链接…唉…请人…有什么想法?
将其分成2个测试策略不是更简单吗?首先是测试桌面UI、按钮等。第二个是测试将被放置在嵌入的浏览器框架内的html。
你不应该测试嵌入式浏览器是否工作,那是微软的工作。唯一的测试,你可能想要在框架上做的是确保它的内容被加载,调用是正确的(内部)url等