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

如何通过./gradlew connectedMockDebugAndroidTest在BrowserStack执行Espresso测试

在BrowserStack云端设备执行带Mock的Android UI自动化测试

首先明确:你无法直接用本地的./gradlew connectedMockDebugAndroidTest命令直接指向BrowserStack云端设备——因为connectedAndroidTest系列命令是Gradle Android插件针对本地ADB连接设备/模拟器设计的,无法直接对接BrowserStack的云端设备集群。但你可以基于现有Gradle构建流程,结合BrowserStack的工具来实现需求,且你的Mock JSON和特征文件已经打包进APK,这部分无需额外调整。

下面是两种可行的解决方案:

方案1:使用BrowserStack Gradle插件(推荐,整合现有Gradle流程)

这个插件可以让你在Gradle任务中直接对接BrowserStack,无需手动上传APK:

  1. 添加插件依赖:在项目根目录的build.gradle中添加BrowserStack插件:
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath "com.browserstack:browserstack-gradle-plugin:1.0.0"
        }
    }
    
  2. 配置BrowserStack参数:在app模块的build.gradle中应用插件并配置(替换成你的BrowserStack账号信息和目标设备):
    apply plugin: "com.browserstack.gradle"
    
    browserstack {
        user = System.getenv("BROWSERSTACK_USERNAME")
        key = System.getenv("BROWSERSTACK_ACCESS_KEY")
        debugApk = file("app/build/outputs/apk/mock/debug/app-mock-debug.apk")
        testApk = file("app/build/outputs/apk/androidTest/mock/debug/app-mock-debug-androidTest.apk")
        devices = [
            "Google Pixel 7-13.0",
            "Samsung Galaxy S23-14.0"
        ]
    }
    
  3. 执行测试:先构建所需的APK,再通过插件任务上传到BrowserStack执行:
    ./gradlew assembleMockDebug assembleMockDebugAndroidTest browserstackRunEspressoTests
    
    插件会自动把构建好的带Mock的APK和测试套件上传到BrowserStack,并在指定设备上执行测试。

方案2:手动构建APK后上传到BrowserStack

如果不想用插件,可以手动生成测试套件APK,再通过BrowserStack CLI/API执行测试:

  1. 构建APK:在本地执行Gradle命令生成带Mock的debug APK和测试套件APK:
    ./gradlew assembleMockDebug assembleMockDebugAndroidTest
    
    生成的APK路径:
    • 主APK:app/build/outputs/apk/mock/debug/app-mock-debug.apk
    • 测试套件APK:app/build/outputs/apk/androidTest/mock/debug/app-mock-debug-androidTest.apk
  2. 上传并执行测试:使用BrowserStack CLI(需提前安装)上传两个APK并启动测试,示例命令:
    browserstack app-automate espresso run \
        --app "app/build/outputs/apk/mock/debug/app-mock-debug.apk" \
        --test-suite "app/build/outputs/apk/androidTest/mock/debug/app-mock-debug-androidTest.apk" \
        --devices "Google Pixel 7-13.0" "Samsung Galaxy S23-14.0"
    

关键注意事项

  • 确保你的mockDebug变体构建配置正确,assets目录下的Mock JSON和特征文件确实被打包进了主APK(可以解压APK检查assets目录验证)
  • 所有BrowserStack账号信息(用户名、Access Key)建议通过环境变量传递,不要硬编码在配置文件中
  • 选择BrowserStack上的设备时,确保设备的Android版本与你本地测试的版本兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:45:20