Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/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
Macos 当chrome窗口被发送到mac上的后台时,Selenium测试将挂起css转换_Macos_Google Chrome_Selenium - Fatal编程技术网

Macos 当chrome窗口被发送到mac上的后台时,Selenium测试将挂起css转换

Macos 当chrome窗口被发送到mac上的后台时,Selenium测试将挂起css转换,macos,google-chrome,selenium,Macos,Google Chrome,Selenium,在我的mac电脑El capitan上运行behat selenium测试时,我遇到了一个恼人的问题 我有一个测试,打开一个模态,如果chrome窗口在另一个窗口后面,该模态将挂起。只要我点击chrome窗口将其带到前面,测试就会继续并通过 模态使用css转换来显示。如果移除转换,测试将通过。如果我保持浏览器的一部分可见,则测试通过 我不确定这是mac在做性能优化还是chrome。有人知道我可以禁用它的方法吗?我不想禁用css转换或运行chrome headless。在这里,我找到了一个,它帮助

在我的mac电脑El capitan上运行behat selenium测试时,我遇到了一个恼人的问题

我有一个测试,打开一个模态,如果chrome窗口在另一个窗口后面,该模态将挂起。只要我点击chrome窗口将其带到前面,测试就会继续并通过

模态使用css转换来显示。如果移除转换,测试将通过。如果我保持浏览器的一部分可见,则测试通过

我不确定这是mac在做性能优化还是chrome。有人知道我可以禁用它的方法吗?我不想禁用css转换或运行chrome headless。

在这里,我找到了一个,它帮助我找到了chrome的一些标志:
-禁用渲染器背景设置
-设置后防止渲染器进程背景设置。
-禁用后台计时器限制
-禁用后台页面中计时器任务的任务限制。
——禁用被遮挡窗口的背景渲染
——禁用被遮挡窗口的背景渲染。为避免不确定性行为而进行的测试

这些旗帜确实解决了我的问题

不久前,我发现有人提到并尝试了这些标志
--disable-gpu
--disable-d3d11
。 但他们没有帮助


可以找到更多描述的标志。

您遇到了什么错误?驱动程序超时或找不到元素?您尝试过最新版本的chromedriver和selenium吗?挂起的行为步骤是“等待模态出现”,它只是检查模态元素是否可见。它最多重试30秒,然后抛出异常。这是我得到的例外。我使用的是最新版本,selenium v2.53.1,chromedriver 2.24。请确保等待页面加载。尝试使用selenium 3,确保首先指定驱动程序,如:java-Dwebdriver.chrome.driver=chromedriver-jar selenium-server-standalone-3.0.0-beta2.jar谢谢您的建议,但这不是原因。断言在一个循环中重试30秒,页面肯定会加载,模态元素被找到,转换只是没有完成。我很确定mac或chrome都在做一些性能优化的把戏。我在Windows上也有同样的问题,所以不仅仅是mac。