【发布时间】:2016-09-11 17:42:13
【问题描述】:
我正在使用 Espresso 测试在我搜索项目时出现的列表视图(如自动完成)。在用户在 SearchView 中输入内容之前,列表视图不会出现。即我将 ListView 设置为 View.VISIBLE 仅当用户在 SearchView 中输入内容时
当我尝试单击列表视图中的文本时出现此错误。 android.support.test.espresso.PerformException: Error performing 'load adapter data' on view 'with id:'。使用 onData 不起作用。
添加人为延迟有效,但我不确定这是否是不好的做法,因为它似乎违背了 onData 等方法的目的。
我的尝试:
我尝试查看 Espresso 测试记录器的功能,但是当我使用测试记录器的代码时,我收到了上述错误。我相信这是因为记录器引入了一些延迟。
-
我阅读了这些 StackOverflow 问题,但没有解决我的问题:
我的代码
此代码有效,但我不希望引入人为延迟。
public pickSuggestion(int index){
/** artificial delay to allow list to appear.
This works but I shouldn't have to do this right? **/
SystemClock.sleep(1000);
onData(anything())
.inAdapterView(withId(R.id.list))
.atPosition(index)
.onChildView(withId(R.id.mTextView))
.perform(click());
}
【问题讨论】:
标签: android listview android-espresso listadapter android-espresso-recorder