Android - Espresso - 滚动到非 ListView 项目

标签 android android-espresso

是否有一种通用方法可以滚动到屏幕上尚不可见的非 ListView 项?

如果没有任何预防措施,Espresso 将指示“在层次结构中找不到与 id 匹配的 View ......

我找到了这个答案……这是最好的方法吗?

onView( withId( R.id.button)).perform( scrollTo(), click());

最佳答案

根据 scrollTo JavaDoc,要使用您指定的代码 ( onView( withId( R.id.button)).perform( scrollTo(), click()); ),先决条件是:“必须是 ScrollView 的后代”和“必须将可见性设置为 View.VISIBLE”。如果是这样的话,那就没问题了。

如果它在 AdapterView 中, 那么你应该使用 onData 反而。在某些情况下,您可能必须实现 AdapterViewProtocol , 如果你的 AdapterView行为不端。

如果它既不在 AdapterView 中也不是 ScrollView 的 child , 那么你将不得不实现一个自定义 ViewAction .

关于Android - Espresso - 滚动到非 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25410613/

相关文章:

java - 如何将我的 JSON 属性之一转换为数组?

Android Espresso : Test running failed. 无测试结果 空测试套件。为什么?

Android 测试 - 从设备 Web 浏览器执行后退按钮

Android Espresso 测试 withHint 不起作用

android - 在@Before 中清除应用程序数据后测试用例失败

android - 运行 espresso 的 UIAutomator

java - 在 Android 上截取屏幕截图

android - 加载程序在 Activity 启动时重新启动混淆

java - 如何解析从 OkHttp 返回的 XML?

android - 特定文件夹中的内置图库