使用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
相关产品推荐
相关产品推荐

