当VM最小化时,Selenium无法单击窗口弹出窗口。

时间:2016-02-10 09:15:09

标签: java selenium virtual-machine

我的脚本(Selenium-java)无法在下载过程中单击Window弹出,并在VM最小化时上载测试用例。

只有当焦点保留在浏览器上时,此测试用例才能在本地计算机和虚拟机上完美运行。

2 个答案:

答案 0 :(得分:1)

这个特定于IE的问题总结得很好,这里:

https://sqa.stackexchange.com/questions/3328/why-does-ie9-running-webdriver-scripts-gets-out-of-focus-if-other-applications-a

似乎不是解决方案,只是解决方法,共识是:在最小化的VM上运行IE。

  

我们能够做的唯一解决方法是在晚上进行测试   什么时候没有其他事情发生[...]

或者:

  

[...]在我的开发箱中的一个单独的VM上运行它。这让我   既继续处理现有代码又消除交互   的问题。我也能够让VM保持睡眠等状态   在那个盒子上非常离散的控制。

答案 1 :(得分:-1)

我发现 Firefox 抑制事件,以便当该窗口没有焦点时,网页中的(至少一些)JavaScripts不会被执行优化。 在这种情况下,我曾经通过切换到窗口来恢复焦点:

Browser.WebDriver.SwitchTo().Window(Browser.WebDriver.CurrentWindowHandle);

检查在哪一点以及为什么这些内容会无意中发生

如果您为一次测试打开了多个浏览器窗口,那么" manage" - 跟踪和切换它们可能会很有用 - 以保持焦点。 此外,它可以帮助恢复/最大化窗口。

使用 SeleniumGRID 可以在测试执行期间解决此问题以及其他一些问题,因为测试正在执行(更多)隔离。