【发布时间】:2020-07-02 09:46:43
【问题描述】:
从托管 Jenkins 实例和自动化容器的 VM 运行 Selenium 测试时,我们的 chrome 实例不断崩溃。在本地尝试时似乎运行良好(与 VM 相同的浏览器版本)。几个星期以来,我一直在尝试解决这个问题,并检查了其他类似的 SO 帖子,但到目前为止没有成功,我真的被困在这一点上。
这些是我们的配置。
- Chrome 驱动程序版本 80.0.3987.106
- Java 版本 1.8.0_144
- Selenium Chrome 驱动程序 3.141.59
-
Chrome 浏览器 80.0.3987.149
ChromeOptions options = new ChromeOptions(); options.addArguments("start-maximized" ); options.addArguments("disable-infobars" ); options.addArguments("--disable-extensions" ); options.addArguments("--window-size=1200x600" ); options.addArguments("--disable-cache" ); options.addArguments("--disable-application-cache" ); options.addArguments("--disk-cache-size=0" ); options.addArguments("--disable-gpu" ); // applicable to windows os only options.addArguments("--disable-dev-shm-usage" ); // overcome limited resource problems options.addArguments("--dns-prefetch-disable" ); options.addArguments("--no-sandbox" ); // Bypass OS security model options.setPageLoadStrategy(PageLoadStrategy.NORMAL); driver = new ChromeDriver(options);
非常感谢。
【问题讨论】:
-
有时,如果 Chrome 未正确重新启动/更新,可能会出现此类错误。尝试关闭所有打开的 Chrome 窗口和 Chrome 驱动程序并运行脚本。如果还是不行,重启整个VM后再试。
-
您好 Naveen,感谢您的回答。是的,我的
@after方法中有driver.close()和driver.quit(),并且浏览器的所有实例都从屏幕上关闭。 -
您是否在没有选项的情况下运行它?如果它在没有这些选项的情况下崩溃,则问题出在 selenium 中,如果没有,则问题出在参数上(像
driver = new ChromeDriver();一样运行它以查看它是否崩溃。如果没有参数一切正常,请删除"--disable-gpu"并给出再试一次...... VM可能有一些问题(在我看来,因为你说它只与Windows相关)+尝试在没有jenkins的情况下将它作为1个大文件(迭代)运行,看看它是否工作正常。 .. GL 调试中 ;) -
嗨,谢谢。我会在星期一试试,然后回来告诉你会发生什么。干杯。
标签: selenium google-chrome selenium-webdriver automation selenium-chromedriver