Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当VM最小化时,Selenium无法单击弹出窗口。_Java_Selenium_Virtual Machine - Fatal编程技术网

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

Java 当VM最小化时,Selenium无法单击弹出窗口。,java,selenium,virtual-machine,Java,Selenium,Virtual Machine,当VM被最小化时,我的脚本(SeleniumJava)在下载和上传测试用例期间无法单击弹出窗口 这个测试用例在本地机器和虚拟机上都能很好地工作,只有当焦点仍然在浏览器上时。我体验到Firefox正在抑制事件,这样(至少一些)网页中的Javascript在该窗口没有焦点时不会执行,这似乎是一个优化。 在这种情况下,我通常通过切换到窗口来恢复焦点: Browser.WebDriver.SwitchTo().Window(Browser.WebDriver.CurrentWindowHandle);

当VM被最小化时,我的脚本(SeleniumJava)在下载和上传测试用例期间无法单击弹出窗口

这个测试用例在本地机器和虚拟机上都能很好地工作,只有当焦点仍然在浏览器上时。

我体验到Firefox正在抑制事件,这样(至少一些)网页中的Javascript在该窗口没有焦点时不会执行,这似乎是一个优化。 在这种情况下,我通常通过切换到窗口来恢复焦点:

Browser.WebDriver.SwitchTo().Window(Browser.WebDriver.CurrentWindowHandle);
检查foucs在哪一点以及为什么会意外更改

如果您为一次测试打开多个浏览器窗口,则“管理”-跟踪并在它们之间切换-以保持焦点可能会很有用。 此外,它还可以帮助恢复/最大化窗口


使用SeleniumGRID可以解决测试执行过程中的这一问题和其他一些问题,因为测试正在(更)孤立地执行。

这一IE特定问题总结得非常好,如下所示:

似乎没有解决方案,只有变通办法,共识是:不要在最小化的虚拟机上运行IE

我们唯一能做的解决办法就是在晚上运行测试 当没有其他事情发生时[…]

或:

[…]在独立于我的开发箱的VM上运行它。这让我 既要继续使用现有代码,又要消除交互 问题。我也能让虚拟机保持睡眠等,并有 那个盒子上的控制非常分散


虚拟机最小化了吗?您的意思是当浏览器最小化时?VM中是否有不同的浏览器版本?@Chris311-浏览器保持打开状态。我在最小化虚拟机后在本地机器上工作。@ShubhamJain-我在公司项目上工作。在项目中,我使用IE-9浏览器。您好,请“接受”这个答案(绿色勾号),如果它帮助您解决了您的问题-谢谢!