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

Bitbucket Pipeline集成Selenium Python测试遇127错误求助

解决Bitbucket Pipeline中Selenium ChromeDriver退出错误(状态码127)

错误原因

状态码127的核心问题:

  • 你使用的python:3.7镜像仅包含Python环境,未安装Chrome浏览器,ChromeDriver必须与对应版本的Chrome客户端配合运行
  • 缺少ChromeDriver依赖的系统底层库
  • 无界面的Pipeline环境中,未配置Chrome无头运行模式

解决方案

1. 修改Bitbucket Pipeline配置,安装Chrome及依赖

更新bitbucket-pipelines.yml,在安装Python依赖前先部署系统级Chrome和必要组件:

image: python:3.7
pipelines:
  default:
    - step:
        script:
          - python --version
          # 安装系统依赖、Chrome浏览器及匹配驱动
          - apt-get update && apt-get install -y --no-install-recommends chromium chromium-driver
          # 批量安装Python依赖
          - pip3 install selenium webdriver-manager
          - python3.7 Tests/Test1.py

2. 调整测试代码,配置Chrome无头运行参数

Pipeline是无界面环境,必须启用Chrome无头模式,并添加容器环境专属参数:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options

# 配置Chrome容器运行参数
chrome_options = Options()
# Selenium 4.10+推荐的新无头模式,兼容性更好
chrome_options.add_argument("--headless=new")
# 禁用沙箱,规避容器权限限制
chrome_options.add_argument("--no-sandbox")
# 解决容器内共享内存不足问题
chrome_options.add_argument("--disable-dev-shm-usage")
# 禁用GPU加速(无界面环境无需启用)
chrome_options.add_argument("--disable-gpu")

# 初始化WebDriver
driver = webdriver.Chrome(
    service=ChromeService(ChromeDriverManager().install()),
    options=chrome_options
)

try:
    driver.get("https://www.google.com/")
    # 打印页面标题验证执行结果
    print(f"页面标题: {driver.title}")
finally:
    # 确保无论测试结果如何,driver都能正常退出
    driver.quit()

关键说明

  • 通过apt-get安装的chromium和chromium-driver版本自动匹配,彻底避免版本不兼容问题
  • --no-sandbox和--disable-dev-shm-usage是容器环境运行Chrome的必需参数,否则会触发权限或资源不足错误
  • 用try-finally包裹业务代码,确保WebDriver资源正常释放,避免Pipeline进程泄漏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 15:25:25