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

Sauce Labs运行自动化测试报错无法实例化RemoteWebDriver求助

Sauce Labs平台RemoteWebDriver实例化失败解决方案

问题描述

  • 执行自动化测试时抛出报错:Could not instantiate new WebDriver instance of type class org.openqa.selenium.remote.RemoteWebDriver
  • 前置状态:安全远程隧道已完成资源配置,运行正常
  • 预期结果:测试任务可正常在Sauce Labs平台调度执行
  • 实际结果:RemoteWebDriver实例化失败,测试流程中断
  • 原测试执行命令:
mvn clean verify -Dwebdriver.driver="remote" -Dsaucelabs.browserName="chrome" -Dsaucelabs.browserVersion="102" -Dsaucelabs.platformName="windows 10" -Dsaucelabs.url="https://foo:boo@ondemand.eu-central-1.saucelabs.com:443/wd/hub" -Denv="dev" -Dwebdriver.base.url="https://test.com/login" -Dsaucelabs.accessKey="foo" -Dsaucelabs.username="boo" -Dcucumber.filter.tags="@test" -Dsaucelabs.tunnelName="koo" -Dsaucelabs.tunnelOwner="boo" -Dsaucelabs.name="POC" -Dwebdriver.remote.url="https://ondemand.us-west-1.saucelabs.com/wd/hub"
  • 测试启动类TestRunner.java代码:
package xyz.abc;

import io.cucumber.junit.CucumberOptions;
import net.serenitybdd.cucumber.CucumberWithSerenity;
import org.junit.runner.RunWith;

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(plugin = {"pretty"},
        features = "Test",
        glue = "fooboo"
)
public class TestRunner {

}

根因定位

  1. 核心配置冲突:命令中同时配置了两个不同区域的Sauce Labs远程连接地址,-Dsaucelabs.url指向欧盟中部(eu-central-1)区域,-Dwebdriver.remote.url指向美国西部(us-west-1)区域。Serenity框架加载远程驱动时优先读取webdriver.remote.url配置,该地址未携带用户名、AccessKey鉴权信息,且和已部署的隧道所属区域不匹配,Sauce Labs服务端直接拒绝连接请求,无法创建WebDriver实例。
  2. 鉴权参数顺序错误:-Dsaucelabs.url中鉴权信息格式为foo:boo,但Sauce Labs要求URL内鉴权格式为用户名:AccessKey,和传入的-Dsaucelabs.username="boo"、-Dsaucelabs.accessKey="foo"参数顺序不匹配,也会触发鉴权失败。
  3. 潜在版本兼容问题:指定的Chrome 102为2022年发布的老旧版本,若所选Sauce Labs区域未留存该版本镜像,也会导致实例创建失败。

修复步骤

  • 删除命令中冗余的-Dwebdriver.remote.url参数,全局统一使用同一个区域的连接地址,确保地址和隧道部署区域一致
  • 修正saucelabs.url中的鉴权信息顺序,调整为用户名:AccessKey格式
  • 若无需锁定特定浏览器版本,建议将browserVersion设置为latest,避免版本不存在导致的创建失败
  • 修正后可正常执行的命令参考:
mvn clean verify -Dwebdriver.driver="remote" -Dsaucelabs.browserName="chrome" -Dsaucelabs.browserVersion="latest" -Dsaucelabs.platformName="windows 10" -Dsaucelabs.url="https://boo:foo@ondemand.eu-central-1.saucelabs.com:443/wd/hub" -Denv="dev" -Dwebdriver.base.url="https://test.com/login" -Dsaucelabs.accessKey="foo" -Dsaucelabs.username="boo" -Dcucumber.filter.tags="@test" -Dsaucelabs.tunnelName="koo" -Dsaucelabs.tunnelOwner="boo" -Dsaucelabs.name="POC"

注:当前提供的TestRunner.java代码无配置问题,不需要修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 01:48:33