我使用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中处理不同分辨率的屏幕的链接
,我会很高兴答案 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();