Как я могу утверждать, что фрагмент настроек (PreferenceFragmentCompat) отображается в AndroidX Espresso?
xml / предпочтений. xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:key="@string/key_preference">
<PreferenceCategory
android:key="game"
android:title="Game">
<DropDownPreference
android:key="@string/key_game_time"
android:title="@string/time_title"
android:summary="@string/time_summary"
android:defaultValue="5"
android:entries="@array/max_duration_entries"
android:entryValues="@array/max_duration_values"/>
<DropDownPreference
android:key="board_size"
android:title="@string/size_title"
android:summary="@string/size_summary"
android:defaultValue="4"
android:entries="@array/board_size_entries"
app:entryValues="@array/board_size_values"/>
</PreferenceCategory>
</PreferenceScreen>
Контрольный пример:
@Test
public void MainMenuToSettingsDirection(){
onView(withId(R.id.btn_open_settings)).perform(click());
onData(is(instanceOf(Preference.class))).atPosition(0).check(matches(isCompletelyDisplayed()));
Espresso.pressBack();
onView(withId(R.id.main_menu)).check(matches(isDisplayed()));
}
Но тест не пройден со следующей ошибкой:
androidx.test.espresso.AmbiguousViewMatcherException: 'is assignable from class: class android.widget.AdapterView' matches multiple views in the hierarchy.
Problem views are marked with '****MATCHES****' below.
Я много искал решение, но у меня ничего не работает.
Заранее благодарим за ваш вклад и комментарии.