首页 > 解决方案 > 无法在 Espresso 中使用 onWebView 方法在 webview 中找到元素

问题描述

我正在使用以下依赖项来编写我的 espresso 测试:

    androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-web:3.0.2'

我正在尝试使用以下代码检测 webview 是否已成功加载:

onWebView().withElement(findElement(Locator.XPATH, "//h1[contains(text(),'Login')]"));

这一直有效,直到我将我的应用程序的支持扩展到 OREO (API 27)。升级目标版本后,我将 espresso 依赖项从 2.2 更新到 3.0.2。升级后,onWebview方法总是返回一个没有元素的 webview,即使我可以看到 webview 正在 Android 设备中加载。

我想测试一下,webview 是否已加载到设备中。

任何帮助表示赞赏!提前致谢

标签: androidwebviewandroid-espresso

解决方案


这是我这边的一个转储错误.. !!

我正在为将来被这样卡住的人回答这个问题..

我在其中一个视图中添加了一个新的过渡,为此我禁用了硬件加速。请确保您的清单文件中启用了硬件加速。如果在运行测试之前在清单中找到以下行,请删除它。

android:hardwareAccelerated="false"

这种硬件加速也可以在三个不同的级别(应用程序、活动、视图)进行配置。请参考链接。


推荐阅读