其他分享
首页 > 其他分享> > android – Espresso AutoCompleteTextView点击

android – Espresso AutoCompleteTextView点击

作者:互联网

所以我最近开始在我现有的一个Android项目中使用Espresso.

一切都很顺利,直到我在我的程序中找到AutoCompleteTextView.我似乎不明白如何正确点击自动完成列表中的第一件事.我实际上甚至不确定在这个实例中使用onView()或onData().

解决方法:

我想我找到了一个比接受的答案更清洁的方法!

.昂达(equalTo( “ITEM”))器InRoot(RootMatchers.isPlatformPopup())执行(点击());

细分:

> onData(x)这将在下拉列表中找到呈现与x匹配的数据对象的视图.数据由提供给AutoCompleteTextView的适配器提供,因此它可以是Adapter提供的任何类型的对象,它可能不是View.你需要使用标准的hamcrest核心匹配器(equalTo,instanceOf等等)而不是(withText,withId等…).尝试查找这是什么对象以及如何匹配它可能会很痛苦,但是没有更简洁的方法:在适配器中有很多项目,某些视图甚至不会在层次结构中,所以onView无法正常工作! onData将确保加载与您的数据匹配的视图.结帐here(这是onData返回的)和here(这会加载匹配的数据)
> inRoot(RootMatchers.isPlatformPopup())所以事实证明,下拉菜单位于另一个窗口,而不是您的活动运行的默认窗口.所以我们必须指定我们要搜索该窗口.接受的答案使用RootMatchers.withDecorView(not(is(mActivityRule.getActivity().getWindow().getDecorView()))),它似乎匹配任何非默认窗口.

无论如何HTH别人.

标签:autocompletetextview,android,android-espresso,android-testing
来源: https://codeday.me/bug/20191002/1844543.html