Espresso を使用して、リスト ビュー内のテキストをクリックしようとしています。彼らがこのガイドを持っていることは知っていますが、テキストを探してこれを機能させる方法がわかりません。これは私が試したものです
Espresso.onData(Matchers.allOf(Matchers.is(Matchers.instanceOf(ListView.class)), Matchers.hasToString(Matchers.startsWith("ASDF")))).perform(ViewActions.click());
予想通り、これはうまくいきませんでした。エラーは、階層にビューがないことを示していました。文字列を選択する方法を知っている人はいますか? ("ASDF"
この場合)よろしくお願いします。
@haffaxによる更新
エラーを受け取りました:
com.google.android.apps.common.testing.ui.espresso.AmbiguousViewMatcherException: 'is assignable from class: class android.widget.AdapterView' は、階層内の複数のビューに一致します。
2 番目のエラー
このコードで
onData(hasToString(startsWith("ASDF"))).inAdapterView(withContentDescription("MapList")).perform(click());
このエラーが発生します
com.google.android.apps.common.testing.ui.espresso.PerformException: ビューで「アダプター データの読み込み」を実行中にエラーが発生しました。「コンテンツの説明: is "MapList"」です。
原因: java.lang.RuntimeException: 一致するデータが見つかりません: asString("ASDF" で始まる文字列)
解決
onData(anything()).inAdapterView(withContentDescription("desc")).atPosition(x).perform(click())