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

使用Espresso测试点击btnRestore后CloudRestoreService是否启动

测试点击btnRestore按钮是否启动CloudRestoreService

你可以用Espresso的Intents测试库来实现这个场景的验证,具体代码和逻辑如下:

测试代码(中文注释版)

@Test
fun 测试点击恢复按钮_预期启动CloudRestoreService() {
    // 初始化Intents框架,用于捕获和验证应用发送的Intent
    Intents.init()
    
    // 定位到btnRestore按钮,先校验它处于显示、可用状态,再执行点击操作
    onView(withId(R.id.btnRestore))
        .check(matches(isDisplayed())) // 校验按钮已显示
        .check(matches(isEnabled()))   // 校验按钮处于可用状态
        .perform(click())              // 模拟用户点击按钮
    
    // 验证是否发送了启动CloudRestoreService的Intent
    intended(hasComponent(CloudRestoreService::class.java.name))
    
    // 释放Intents资源,避免内存泄漏
    Intents.release()
}

关键逻辑说明

  • Intents框架:Espresso的Intents扩展库专门用于测试Intent的发送和跳转,能精准捕获应用内发出的Intent并验证其目标组件
  • 按钮状态校验:先确认按钮可见且可点击,避免因按钮状态异常导致测试结果失真
  • Intent验证:intended()方法会检查是否有符合条件的Intent被发送,这里通过hasComponent()匹配CloudRestoreService的全类名,确保点击按钮后确实触发了该服务的启动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:40:40