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浏览器,“任务管理器”显示了多个正在运行的Chrome浏览器实例(当通过Jenkins触发Chrome浏览器时,该实例的数量比平时更大)。杀死随机的Google Chrome实例可以使程序有时运行。但是,我们的项目要求每天早上自动安排项目,因此,不能手动终止Chrome实例。
由用户Automation Tester启动 在工作区D:\ Code Backup \ Code \ General Revenue Content中构建 [XXXXXXXXXX内容] $ cmd / c调用C:\ Users \ a39974p \ AppData \ Local \ Temp \ jenkins8618745924723016687.bat
D:\ Code Backup \ Code \ XXXXXXXXXX> run.bat
D:\ Code Backup \ Code \ 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] [SEVERE]:超时从渲染器接收消息:600.000 [1553789144.734] [SEVERE]:超时从渲染器接收消息:300.000
预期:Chrome浏览器不应超时并继续执行测试脚本。
实际:Chrome长时间运行后超时。
答案 0 :(得分:1)
据我了解,在测试失败后,chromedriver不会立即关闭,但只有达到一定的超时值(对我来说大约10分钟)后,我才遇到类似的问题,但是在较旧的chromedriver版本中,这些关闭的chromedriver并未占用詹金斯角子机。 作为临时修复,我建议您降级为chrome v71并禁用自动更新
答案 1 :(得分:0)
考虑到以上评论,我建议使用chrome版本超过72和chromedriver版本2.46。
或者您可以使用-
上提到的组合答案 2 :(得分:0)
通过Jenkins工作以无头模式运行Selenium测试时,我遇到了类似的问题。控制台输出如下:
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 36079
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Build timed out (after 5 minutes). Marking the build as failed.
Build was aborted
通过在ChromeOptions参数中添加“ --no-sandbox”来解决此问题。