更新ChromeDriver93与Jenkins2.303.1后Selenium任务启动卡住无输出如何解决
Selenium+Jenkins构建ChromeDriver启动后无响应排查方案
构建卡住时控制台输出如下:
C:\Users\Test\eclipse-workspace\Test>java org.testng.TestNG C:\Users\Test\eclipse-workspace\Test\TestNG.xml Sep 15, 2021 11:59:35 AM org.openqa.selenium.remote.DesiredCapabilities chrome INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()` Starting ChromeDriver 93.0.4577.63 (ff5c0da2ec0adeaed5550e6c7e98417dac77d98a-refs/branch-heads/4577@{#1135}) on port 5299 Only local connections are allowed. Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe. ChromeDriver was started successfully
可按以下步骤逐一排查解决:
- 优先配置Chrome无头运行参数
Jenkins以Windows服务运行时默认无GUI界面,Chrome 93版本无GUI环境下未配置无头模式会直接卡住,需在ChromeOptions中添加如下参数:ChromeOptions options = new ChromeOptions(); // 开启无头模式 options.addArguments("--headless"); // 禁用沙箱模式,解决服务运行权限问题 options.addArguments("--no-sandbox"); // 禁用共享内存,避免资源不足导致崩溃 options.addArguments("--disable-dev-shm-usage"); // 禁用GPU加速,Windows环境下可规避渲染报错 options.addArguments("--disable-gpu"); - 确认Chrome浏览器与驱动版本完全匹配
ChromeDriver 93仅支持93版本的Chrome浏览器,需检查Jenkins运行环境中安装的Chrome正式版本号与驱动版本完全一致,小版本号不匹配也会导致启动后无响应。 - 调整Jenkins服务运行权限
打开Windows服务列表,找到Jenkins服务右键选择「属性」,切换到「登录」选项卡,勾选允许服务与桌面交互,保存后重启Jenkins服务再执行构建。 - 修复弃用API兼容问题
日志提示DesiredCapabilities.chrome()已弃用,需将原有DesiredCapabilities相关配置全部迁移到ChromeOptions中,避免隐性兼容问题导致执行卡住。 - 升级匹配的Selenium版本
ChromeDriver 93要求Selenium版本不低于3.141.59,若使用低版本Selenium需升级到对应兼容版本,也可直接升级到Selenium 4.x系列获得更好的Chrome版本适配。 - 开启调试日志定位问题
启动ChromeDriver时添加日志配置,输出详细交互日志排查具体卡顿时点:System.setProperty("webdriver.chrome.logfile", "C:\\chromedriver.log"); System.setProperty("webdriver.chrome.verboseLogging", "true");
内容的提问来源于stack exchange,提问作者AJAY SINGH RATHOUR
相关产品推荐
相关产品推荐

