【发布时间】:2014-04-27 03:32:50
【问题描述】:
我正在使用 CUITe 自动测试 UI 片段(捕获为页面对象模型)。
我有一个类可以捕获 UI 中的按钮,如下所示:
class Navigators : CUITe_BrowserWindow
{
public new string sWindowTitle = "Window";
public CUITe_HtmlInputButton next = new CUITe_HtmlInputButton("Id=Content_btnNext");
// Other such buttons
//And a method to click any button
public void ClickButton(string id)
{
CUITe_BrowserWindow.GetBrowserWindow<Navigators>().Get<CUITe_HtmlInputButton>(string.Concat("Id=", id)).Click();
}
}
我试图自动化的测试是这样的,点击一个按钮:
CUITe_BrowserWindow.Launch<Navigators>("url");
CUITe_BrowserWindow.GetBrowserWindow<Navigators>().ClickButton("Content_btnNext");
我的问题是: 当我将屏幕投影到辅助监视器并扩展它时,完美地单击了“下一步”按钮。但是,在我的系统上,鼠标将按钮移到另一个位置,并且单击不会发生。
我已尝试刷新 CodedUI 缓存(通过将 SearchConfiguration 设置为 Always),但这没有奏效。此外,控件上的 SetFocus 工作正常,而 DrawHighlight 显示错误的位置。
任何帮助将不胜感激。
编辑 当我将屏幕分辨率更改为 1440x900(这是辅助显示器的分辨率)时,点击发生了。
如果有人可以提供显示如何在 Coded UI 中处理不同分辨率屏幕的链接,我会很高兴
【问题讨论】:
-
您是否将 SearchConfiguration Always 添加到按钮层次结构中的每个控件?
-
嗨,杰夫,据我了解,CUITe 不使用控制层次结构;相反,控件绑定到顶级容器,在我的例子中就是浏览器窗口。
标签: coded-ui-tests setfocus mouse-position