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

录制Firebase Test Lab Robot Script遇Espresso不支持Compose项目错误求解决

解决Firebase Test Lab录制Robot Script时提示“Espresso不支持Compose项目”的问题

核心原因

Firebase Test Lab的Robot Script录制默认依赖Espresso框架,但Espresso原生不支持Jetpack Compose界面,需要切换到Compose专用的测试工具链。

具体解决方案

  • 添加Compose测试依赖
    在模块级build.gradle(或build.gradle.kts)的dependencies块中添加Compose测试相关依赖,确保版本与项目中使用的Compose版本一致:

    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
    debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
    

    同步项目后,测试环境就具备了Compose界面的测试能力。

  • 切换测试框架为Compose Test

    1. 打开Android Studio顶部菜单栏的Run -> Edit Configurations
    2. 找到你要用于录制Robot Script的测试配置(或新建一个Android Instrumented Tests配置)
    3. 在Test framework下拉选项中,选择Compose Test而非默认的Espresso
    4. 保存配置后,重新尝试录制脚本
  • 手动编写Compose测试脚本(替代录制)
    如果录制功能仍无法正常工作,可以直接编写Compose测试代码,使用Compose Test API来模拟用户操作,示例如下:

    @RunWith(AndroidJUnit4::class)
    class SampleComposeTest {
        @get:Rule
        val composeTestRule = createComposeRule()
    
        @Test
        fun verifyButtonInteraction() {
            // 加载Compose界面
            composeTestRule.setContent {
                MyAppTheme {
                    Button(onClick = { /* 业务逻辑 */ }) {
                        Text("Submit")
                    }
                }
            }
            // 模拟点击按钮
            composeTestRule.onNodeWithText("Submit").performClick()
            // 添加断言验证结果
            composeTestRule.onNodeWithText("Success").assertIsDisplayed()
        }
    }
    

    编写完成后,可直接将该测试上传至Firebase Test Lab执行。

  • 更新工具版本
    确保你使用的是最新版本的Android Studio(建议Giraffe及以上版本)和Firebase插件,旧版本对Compose的兼容性支持不足,更新后能解决大部分兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:31:31