我一直在使用Espresso來使用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」中訪問按鈕,一個,而不訪問全部三個按鈕。
我試圖訪問與下面的按鈕:
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
也是錯誤的告訴我沒有找到匹配。
我使用的代碼是有道理的,儘管我對使用Espresso很陌生誰能提供一些建議,或者指出我可能會誤解?
感謝您的迴應!當我解決問題時,我真的應該自己回答這個問題。但是你是對的,當我處理這個問題時,我有一個複雜的選擇器來選擇正確的按鈕。 –