You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7上Jenkins运行RobotFramework用例报WebDriverException如何解决?

问题排查与解决步骤

1. 错误根因定位

该报错本质是WebDriver请求浏览器驱动接口时,拿到的不是预期的JSON响应,而是HTML错误页面,90%以上场景是Jenkins运行的无UI环境缺少X11显示服务,浏览器启动失败返回了错误页。

2. 分步排查方案

  • 第一步:确认无UI环境浏览器运行依赖是否安装
    CentOS7 无头模式运行Chrome/Firefox需要安装对应依赖包,执行以下命令安装:
# Chrome依赖
yum install -y libX11 libXcursor libXdamage libXext libXi libXtst libXrandr alsa-lib mesa-libEGL libXcomposite libXScrnSaver gtk3
# 如果用Firefox
yum install -y firefox xorg-x11-server-Xvfb
  • 第二步:确认RF SeleniumLibrary配置是否开启无头模式
    必须给浏览器添加无头启动参数,示例配置:
*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
POLITY_123_Verify Subjects list blocks appears in Subject Page
    ${chrome_options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome_options}    add_argument    --headless=new
    Call Method    ${chrome_options}    add_argument    --no-sandbox
    Call Method    ${chrome_options}    add_argument    --disable-dev-shm-usage
    Create Webdriver    Chrome    chrome_options=${chrome_options}
    Go To    ${测试页地址}
    # 后续测试逻辑
  • 第三步:确认Jenkins Job是否配置正确的显示变量
    如果未开启浏览器无头模式,需要安装Xvfb虚拟显示服务,在Jenkins Job的执行命令前添加启动配置:
export DISPLAY=:99
Xvfb :99 -screen 0 1024x768x16 &
python3 -m robot <test.robot>
  • 第四步:验证驱动与浏览器版本匹配
    WebDriver和浏览器主版本必须一致,查看对应版本后替换正确的驱动:
# 查看Chrome版本
google-chrome --version
# 查看Firefox版本
firefox --version

3. 验证修复效果

修改配置后先直接在CentOS7命令行执行Robot命令测试,确认无报错后再在Jenkins中运行Job,避免重复构建浪费资源。


内容的提问来源于stack exchange,提问作者Isuru Rangana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:54:01