android - 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 或类似的东西,正在等待对话解决?
但是,如果我将位置设置好,测试就可以正常工作
我可以做些什么来接受/取消这个对话框?
我不想手动检查位置是否打开。我想测试一切是否正常。
这是实际屏幕的图像
解决方案
找到和我有同样问题的人,解决方案是使用使用设备 UI 的 UiAutomator!浓缩咖啡无法达到的!
推荐阅读
- google-chrome - 不安全的表格和代理服务器?
- keras - 用于轨迹预测的编码器-解码器
- python - 内置和 pyopensssl 都不适用于cherrypy
- curl - 如何使用 curl RESTAPI 将数据插入到现有文件中的 marklogic 数据库中
- javascript - 在javascript中将数组对象重复键增加1
- javascript - React hook 没有更新从 fetch 函数接收到的数据
- python - Python写入文件和json返回None/null而不是值
- python - Python:我将使用什么函数来从这个 .CVS 文件中定位最高人口?
- javascript - 在类中自动添加此关键字的 Javascript 转译器
- python - 使用 discord.py 将 mp3 播放到语音频道