【发布时间】:2016-09-29 08:19:39
【问题描述】:
在我的 Mac El capitan 上运行我的 behat selenium 测试时遇到了一个烦人的问题。
我有一个测试可以打开一个模式,如果 chrome 窗口位于另一个窗口后面,该模式将挂起。只要我单击 chrome 窗口将其置于前面,测试就会继续并通过。
模态框使用 css 过渡来显示。如果我删除转换,则测试通过。如果我保持浏览器的一部分可见,则测试通过。
我不确定这是 mac 做某种性能优化还是 chrome。任何人都知道我可以禁用它的方法吗?我宁愿不必禁用 css 过渡或无头运行 chrome。
【问题讨论】:
-
你得到什么错误?驱动程序超时或未找到该元素?您是否尝试过使用最新版本的 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上也有同样的问题,所以不只是om mac。
标签: macos google-chrome selenium