GitHub Actions执行Java UI测试报错:Chrome无法正常启动
解决GitHub Actions中Selenium Chrome无法启动会话的问题
报错信息
Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: Chrome failed to start: exited normally.
问题分析
GitHub Actions的Ubuntu runner是无头环境(无图形界面),默认配置的Chrome无法直接启动;同时可能存在Chrome与ChromeDriver版本不匹配、缺少必要启动参数的问题。
解决方案
1. 调整GitHub Actions配置,确保Chrome环境正常
修改你的main.yaml,添加Chrome安装与版本匹配的步骤:
name: Java CI on: push: branches: - master jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up JDK uses: actions/setup-java@v2 with: java-version: '17' distribution: 'temurin' # 新增:安装指定版本Chrome - name: Set up Chrome uses: browser-actions/setup-chrome@v1 with: chrome-version: latest # 新增:安装与Chrome匹配的ChromeDriver - name: Install ChromeDriver run: | CHROME_VERSION=$(google-chrome --version | grep -oP '\d+\.\d+\.\d+\.\d+') wget -N https://chromedriver.storage.googleapis.com/$CHROME_VERSION/chromedriver_linux64.zip unzip chromedriver_linux64.zip chmod +x chromedriver sudo mv chromedriver /usr/local/bin/ # 新增:验证版本匹配 - name: Verify Chrome and ChromeDriver versions run: | google-chrome --version chromedriver --version - name: Cache the Maven packages to speed up build uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Build with Maven run: mvn -B package --file pom.xml - name: Run tests run: mvn clean test -Dcucumber.options="--tags @Test"
2. 修改serenity.properties,添加无头启动参数
在配置文件中补充Chrome适配无头环境的启动参数:
serenity.project.name=SELENIUM FRAMEWORK serenity.test.root=org.example webdriver.driver=chrome webdriver.autodownload=true # 添加无头模式及必要参数 webdriver.chrome.options=--headless=new --no-sandbox --disable-dev-shm-usage --disable-gpu serenity.browser.maximized=true serenity.use.unique.browser=false serenity.restart.browser.each.scenario=true
关键参数说明
--headless=new:使用Chrome新版无头模式,兼容性更强--no-sandbox:关闭沙箱模式,规避CI环境下的权限限制--disable-dev-shm-usage:避免共享内存不足导致Chrome崩溃--disable-gpu:禁用GPU加速,无头环境无需该功能
验证要点
运行任务后,查看Verify Chrome and ChromeDriver versions步骤的输出,确保两者主版本号完全一致。若版本不匹配,需手动指定对应版本的Chrome和ChromeDriver。
内容的提问来源于stack exchange,提问作者アレックス
相关产品推荐
相关产品推荐

