首页 > 解决方案 > Jenkins 项目未运行,因为 Google Chrome 正在超时

问题描述

Google Chrome 更新至版本 73.0.3683.86,Chrome 驱动程序更新至 73.0.3683.68。当从 Jenkins(作为服务)触发 java 项目(TestNG)时,程序无限期地运行并且不会进入实际代码并且正在超时。

尝试将浏览器版本降级到 Chrome 71 并通过 ChromeDriver 版本 2.46 运行它。这样就成功运行了项目。但是 Chrome 的自动更新每晚都会推送,使其与 chromedriver 版本不兼容(Chrome 版本 73 和 Chromedriver 2.46 - 这不起作用)。

尝试将 Chrome 和 Chromedriver 都更新到最新版本,但它不起作用。

Google Chrome 启动,TASK MANAGER 显示 Chrome 运行的多个实例(当通过 Jenkins 触发 Chrome 时,实例数量大于通常的实例数)。杀死随机的 Google Chrome 实例可以让程序有时运行。但是,我们的项目需要每天早上自动安排项目,因此手动终止 Chrome 实例不是一种选择。

由用户 Automation Tester 开始在工作区 D:\Code Backup\Code\General Revenue Content [XXXXXXXXXX Content] $ cmd /c call C:\Users\a39974p\AppData\Local\Temp\jenkins8618745924723016687.bat 中构建

D:\代码备份\代码\XXXXXXXXXX >run.bat

D:\代码备份\代码\XXXXXXXXXX >java -cp bin;lib/* org.testng.TestNG testng.xml

在端口 6983 上启动 ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) 只允许本地连接。请保护 ChromeDriver 和相关测试框架使用的端口,防止恶意代码访问。log4j:WARN 找不到记录器 (org.apache.http.client.protocol.RequestAddCookies) 的附加程序。log4j:WARN 请正确初始化 log4j 系统。log4j:WARN 有关详细信息,请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig。2019 年 3 月 28 日上午 11:50:44 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到的方言:OSS

[1553788844.734][严重]:从渲染器接收消息超时:600.000 [1553789144.734][严重]:从渲染器接收消息超时:300.000

预期:Chrome 不应超时并继续执行测试脚本。

实际:Chrome长时间运行后超时。

标签: javagoogle-chromejenkinsselenium-chromedriver

解决方案


我有一个类似的问题,据我所知,在测试失败后,chromedriver 不会立即关闭,但只有在达到某个超时值(对我来说大约 10 分钟)后才会关闭,但是对于旧版 chromedriver,这些关闭的 chromedriver 不会占用 jenkins 插槽。作为临时修复,我建议您降级到 chrome v71 并禁用自动更新


推荐阅读