私はAndroidアプリで自動UIテストを実行するためにエスプレッソを使用しています。 (私は仕事中に問題を解決しようとしているので、正確な例とエラーはありませんが、明日の朝に更新できます)。私は、単一のユーザーインターフェイス内に複数回含まれるレイアウト内の単体テストボタンに関する問題にぶつかってきました。以下は簡単な例である:ここではエスプレッソ含まれるレイアウトの子供
<include
android:id="@+id/include_one"
android:layout="@layout/boxes" />
<include
android:id="@+id/include_two"
android:layout="@layout/boxes" />
<include
android:id="@+id/include_three"
android:layout="@layout/boxes" />
は、@レイアウト/ボックス内にあるものの例である:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1" />
<Button
android:id="@+id/button2" />
</RelativeLayout>
私は私が欲しい含ま「include_one」内のボタン1にアクセス一見ができません3つすべてのボタンにアクセスする必要はありません。
は、私は次のようにボタンにアクセスしようとしている:
onView(allOf(withId(R.id.include_one), isDescendantOfA(withId(R.id.button1)))).perform(click());
と
onView(allOf(withId(R.id.button1), hasParent(withId(R.id.include_one)))).perform(click());
を私はこの答えは見つかりどちらも:onChildView and hasSiblings with Espressoは、残念ながら、私は任意の成功を持っていませんでした!
私は、これは素晴らしいではありませんけど、私は私の仕事用のコンピュータではないですように私はあなたに私が遭遇した正確なエラーを伝えることはできませんが、私が遭遇した:また
com.google.android.apps.common.testing.ui.espresso.AmbiguousViewMatcherException
エラー一致するものが見つからなかったと私に伝えます。
私が使用しているコードは、私がエスプレッソを初めて使う人には合っていますが、誰かがアドバイスを提供することはできますか?
ありがとうございました!私が問題を解決したとき、私は本当にこれに自分自身で答えるべきだった。しかし、あなたが正しいです、私はこの問題に取り組んでいたときに右ボタンを選択する複雑なセレクタを持っていました。 –