意式浓缩咖啡测试时,Android 设备不会在屏幕上启动活动

Posted

技术标签:

【中文标题】意式浓缩咖啡测试时,Android 设备不会在屏幕上启动活动【英文标题】:Android device doesn't launch activities on the screen while espresso testing 【发布时间】:2020-08-12 01:51:53 【问题描述】:

只要我在 YouTube 视频中看到一个 android 设备倾向于启动并显示在我的测试中启动的活动,我认为这里有问题,因为我的根本没有反应(屏幕总是虽然,动画被关闭)。 当我试图测试首先在应用程序中运行的活动时(逻辑上),我试图在测试时自己打开应用程序并且它以某种方式工作。现在我正在测试另一个,这个技巧不再起作用了。

无论如何我总是得到错误: java.lang.AssertionError: Activity 永远不会变成请求状态“[RESUMED, STARTED, CREATED, DESTROYED]”

我的测试代码不包括:

val 场景 = ActivityScenario.launch(HomeActivity::class.java)

然后我只检查布局元素(textview 或任何东西)的存在

任何想法为什么会发生? 提前致谢

UPD:android 模拟器工作正常。

【问题讨论】:

【参考方案1】:

当我从谷歌 kotlin unit test 关注 codelab 时,这也发生在我的测试中

当我尝试通过模拟器运行测试时,它运行良好,但是当我遇到我的设备时,即小米红米 Note 5 时,出现的错误和你的一样,

我在这个question 中找到了答案,它指向了这个github

我尝试启用应用程序权限“在后台运行时显示弹出窗口”,当我再次运行测试时,它通过了

【讨论】:

以上是关于意式浓缩咖啡测试时,Android 设备不会在屏幕上启动活动的主要内容,如果未能解决你的问题,请参考以下文章

浓缩咖啡测试:以编程方式在智能锁保存密码上选择“从不”

手机睡着的浓缩咖啡测试

指纹读取器浓缩咖啡测试

浓缩咖啡:适配器视图的 android.support.test.espresso.AmbiguousViewMatcherException

浓缩咖啡测试失败,进度对话框未从顶部删除

咖啡文化:各种咖啡名称与选择