Android Espresso如何从自定义视图获取编辑文本,然后键入文本
我正在尝试编写一个浓缩咖啡测试,它将在自定义搜索视图中键入文本。自定义搜索视图位于此处: 我正在我的主要活动中使用它。如果我在这个SearchView上直接调用'typeText',它会抛出一个错误,因为我实际上需要从这个搜索栏获取EditText EditText位于search_view.xml中 我认为Espresso命令应该如下所示:Android Espresso如何从自定义视图获取编辑文本,然后键入文本,android,android-espresso,Android,Android Espresso,我正在尝试编写一个浓缩咖啡测试,它将在自定义搜索视图中键入文本。自定义搜索视图位于此处: 我正在我的主要活动中使用它。如果我在这个SearchView上直接调用'typeText',它会抛出一个错误,因为我实际上需要从这个搜索栏获取EditText EditText位于search_view.xml中 我认为Espresso命令应该如下所示: onView(get EditText from SearchView).perform(typeText("chicken")); 如何获取Edit
onView(get EditText from SearchView).perform(typeText("chicken"));
如何获取EditText引用?没关系,我找到了解决方案 我在单元测试中得到了我的“搜索”视图,然后我开始遍历它的子对象 当我找到EditText时,我调用了onView 这是密码。希望它能帮助某人:
search = (SearchBox) mActivityRule.getActivity().findViewById(R.id.searchbox);
for( int i = 0; i < search.getChildCount(); i++ )
if( search.getChildAt( i ) instanceof EditText) {
onView(withId(search.getChildAt(i).getId())).perform(typeText("soup" + '\n'));
}
search=(SearchBox)mActivityRule.getActivity().findViewById(R.id.SearchBox);
for(int i=0;i