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

Karate Framework移动端自动化:修改默认Host解决BrowserStack运行报错

Karate Framework移动端自动化:解决BrowserStack Hub地址拼接错误问题

问题根源

你错误使用了webDriverPath属性配置BrowserStack的远程Hub地址。Karate中webDriverPath的作用是在默认webDriverUrl(http://localhost:4723)后追加路径,导致系统自动拼接出无效URI:http://localhost:4723http:/<username>:<passkey>@hub-cloud.browserstack.com/wd/hub/session,进而触发ClientProtocolException。

正确配置方法

直接通过webDriverUrl指定完整的BrowserStack远程Hub地址,替换默认的本地地址,避免拼接错误。

方式1:在Feature文件中直接配置

Feature: 移动端自动化测试场景
  Background:
    * configure driver = {
        type: 'android', // 根据测试平台选择android/ios
        webDriverUrl: 'http://<你的BrowserStack用户名>:<你的BrowserStack密钥>@hub-cloud.browserstack.com/wd/hub',
        desiredCapabilities: {
          'browserstack.user': '<你的BrowserStack用户名>',
          'browserstack.key': '<你的BrowserStack密钥>',
          'device': 'Google Pixel 7', // 目标测试设备
          'os_version': '13.0', // 设备系统版本
          'app': 'bs://<你的BrowserStack应用ID>' // 测试应用的BrowserStack存储ID
        }
      }

方式2:在karate-config.js中全局配置

function fn() {
  const browserStackUser = '<你的BrowserStack用户名>';
  const browserStackKey = '<你的BrowserStack密钥>';
  
  const driverConfig = {
    type: 'ios', // 根据测试平台切换
    webDriverUrl: `http://${browserStackUser}:${browserStackKey}@hub-cloud.browserstack.com/wd/hub`,
    desiredCapabilities: {
      'browserstack.user': browserStackUser,
      'browserstack.key': browserStackKey,
      'device': 'iPhone 14',
      'os_version': '16',
      'app': 'bs://<你的BrowserStack应用ID>'
    }
  };
  
  karate.configure('driver', driverConfig);
  
  return {
    driverConfig: driverConfig
  };
}

关键说明

  • webDriverUrl:用于指定完整的远程WebDriver服务器地址,会完全覆盖Karate默认的http://localhost:4723,适用于BrowserStack、Sauce Labs这类远程测试平台。
  • webDriverPath:仅当需要在默认主机地址后追加路径时使用(例如本地WebDriver服务器的路径后缀),不要用于完整的远程Hub地址配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:17:18