首页 > 解决方案 > Espresso 不执行点击对话框

问题描述

Espresso 不执行单击对话框以启用在此代码上生成的 GPS:

rae.startResolutionForResult(
  context,
  Constants.GPS_REQUEST
)

我还没有创建这个对话框,所以它不是我的“屏幕”或“应用程序”的一部分,它是由系统或请求解决 gps 分辨率生成的。

所以我检查是否启用了 gps,如果没有,那么这是我按下它的代码行:

onView(withText("OK")).perform(click())

但它不起作用,因为它看起来像 Espresso 一直在等待某些事情发生然后它单独崩溃: androidx.test.espresso.NoActivityResumedException: No activities in stage RESUMED. Did you forget to launch the activity. (test.getActivity() or similar)?

如果我在它上面设置随机词也没关系,withText("Random words sjdj")因为“它正在等待”

我考虑过单击坐标,但由于高度和宽度的原因,这看起来像是一个不稳定的测试,并且可能根本不准确(我是从无知中说出来的)并且可能不会起作用,因为 espresso 正在等待。

编辑1:

如果我等到测试自行停止,它会抛出下一个错误:

androidx.test.espresso.NoActivityResumedException: No activities in stage RESUMED. Did you forget to launch the activity. (test.getActivity() or similar)?

我猜 Activity 是 onPause 或类似的东西,正在等待对话解决?

但是,如果我将位置设置好,测试就可以正常工作

我可以做些什么来接受/取消这个对话框?

我不想手动检查位置是否打开。我想测试一切是否正常。

这是实际屏幕的图像

在此处输入图像描述

标签: androidtestingandroid-espressoui-testingandroid-gps

解决方案


找到和我有同样问题的人,解决方案是使用使用设备 UI 的 UiAutomator!浓缩咖啡无法达到的!

解决方案


推荐阅读