CUITe / Coded UI:mouse.Click位置错误(屏幕分辨率)

时间:2014-03-20 10:42:54

标签: coded-ui-tests setfocus mouse-position

我使用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");

我的问题是: 当我将我的屏幕投影到辅助显示器并对其进行扩展时,&#39; Next&#39;完美点击按钮。但是,在我的系统上,鼠标将按钮移到另一个位置,并且点击不会发生。

我尝试刷新CodedUI缓存(通过将SearchConfiguration设置为Always),但这并没有奏效。此外,控件上的SetFocus正常工作,而DrawHighlight显示错误的位置。

非常感谢任何帮助。

修改 当我将屏幕的分辨率更改为1440x900(这是辅助显示器的分辨率)时,发生了点击。

如果有人可以提供显示如何在Coded UI中处理不同分辨率的屏幕的链接

,我会很高兴

2 个答案:

答案 0 :(得分:0)

这就是我点击Win 8.1商店应用程序上的控件的方式,这可能对您有帮助,也可能没有帮助:

            Mouse.Click(new Microsoft.VisualStudio.TestTools.UITest.Input.Point(uiControl.Left + (uiControl.Width / 2), uiControl.Top + (uiControl.Height / 2)));

答案 1 :(得分:0)

以下是我在CUITe脚本&amp ;;它在我的大型显示器上以1920x1080工作正常在我的笔记本电脑屏幕上1280x1024。

鉴于上面的OR定义。

using Navigators.ObjectRepository; //guessing the name here

var pgNavigator = new Navigators();

//whatever else you do before clicking on next

Navigators.next.Click();