为什么我的自动测试点击此按钮?

时间:2015-02-17 00:22:36

标签: c# webbrowser-control coded-ui-tests

在我手工编码的CODEDUI测试中,我想要点击的网页上有一个按钮,其标记如下:

<button onclick="window.location='/create-this#/authenticate'">Create This</button> 

此代码执行单击,请注意我已经证明返回了正确的按钮实例,并且var BTN是正确的控件。

               btn.EnsureClickable();
               btn.SetFocus();
               Mouse.Click(btn);

我甚至可以在浏览器窗口的那一部分看到尝试的点击发生,所以我知道它发现&#34;发现&#34;和&#34;导航&#34;控制。

这里是错误消息/堆栈跟踪:

enter image description here

内部异常HResult是:-2147467259

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

解决方案:IE和Chrome记住它们关闭的最后一台显示器以及浏览器大小。当CodedUI启动浏览器时,它会在最后一个已知的监视器上打开。

我用三台显示器进行测试,发现两台较大的(非笔记本电脑)显示器在自动测试中点击失败(一个比另一个更多)。所有我必须做的就是打开并关闭主显示器(笔记本电脑)上的浏览器,测试运行良好。

这意味着显示器驱动程序,分辨率和其他因素会以某种方式影响测试失败。我假设CodedUI只调用较低级别的东西&#34;做它的工作,对它所玩的窗户的实际宽度几乎没有概念。