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

Karate-Sauce Labs创建WebDriver会话返回401错误,本地无法执行测试脚本

解决Sauce Labs创建Chrome WebDriver会话返回401的问题

核心问题分析

401状态码明确表示未授权访问,你之前修改本地Chrome路径的操作方向有误——Sauce Labs是远程执行环境,不需要指定本地Chrome可执行文件路径,问题出在身份验证或远程连接配置上。

针对性解决方案

1. 修正Karate的远程Driver配置

将本地Chrome驱动配置改为Sauce Labs远程Hub配置,必须携带你的Sauce用户名和Access Key:

karate.configure('driver', {
  type: 'remote',
  webDriverUrl: 'https://<你的Sauce用户名>:<你的Sauce Access Key>@ondemand.us-west-1.saucelabs.com/wd/hub',
  capabilities: {
    browserName: 'chrome',
    browserVersion: 'latest',
    'sauce:options': {
      tunnelIdentifier: '<你的Sauce隧道ID>' // 如果使用了Sauce隧道,必须匹配后台显示的隧道ID
    }
  }
})
  • 替换<你的Sauce用户名>、<你的Sauce Access Key>和<你的Sauce隧道ID>为实际值
  • 注意tunnelIdentifier要和Sauce后台隧道列表中的ID完全一致(大小写敏感)

2. 正确配置代理访问

如果你的网络需要代理,确保curl命令的代理参数格式正确:

# 带认证的代理
curl -v --proxy http://proxyHost:proxyPort --proxy-user proxyUser:proxyPassword https://ondemand.us-west-1.saucelabs.com/wd/hub/status

# 无认证的代理
curl -v --proxy http://proxyHost:proxyPort https://ondemand.us-west-1.saucelabs.com/wd/hub/status
  • 代理地址要和浏览器使用的一致,优先用HTTP代理(即使目标是HTTPS地址)
  • 验证curl返回{"ready":true,...}则代理配置有效

3. 确认Sauce隧道状态

登录Sauce Labs后台,检查隧道列表:

  • 确保目标隧道处于Running状态
  • 确认隧道ID与代码中tunnelIdentifier完全匹配

4. 检查账户权限

登录Sauce Labs账户,确认:

  • 账户没有欠费或被限制访问
  • 账户拥有创建WebDriver会话的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:31:17