मैं एक Android ऐप्लिकेशन के साथ स्वचालित यूआई परीक्षण बाहर ले जाने के एस्प्रेसो उपयोग किया गया है का चयन करें। (मैं काम से घर पर, जबकि इस मुद्दे के लिए एक प्रस्ताव को खोजने के लिए मैं सटीक उदाहरण और त्रुटियों की जरूरत नहीं है मैं कल सुबह अद्यतन कर सकते हैं की कोशिश कर दिया गया है, तो है, लेकिन)। मैंने एक लेआउट के भीतर यूनिट परीक्षण बटन के साथ एक समस्या में भाग लिया है जिसमें एकल उपयोगकर्ता इंटरफ़ेस के भीतर कई बार शामिल किया गया है।एस्प्रेसो शामिल लेआउट के बच्चों
<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
भी एक त्रुटि मुझे बता रहा था कि कोई मैच नहीं मिला था।
मैं जिस कोड का उपयोग कर रहा हूं वह समझ में आता है, हालांकि मैं एस्प्रेसो का उपयोग करने के लिए नया हूं, कोई भी कुछ सलाह दे सकता है या बता सकता है कि मुझे गलतफहमी क्या हो सकती है?
प्रतिक्रिया के लिए धन्यवाद! जब मैंने इस मुद्दे को ठीक किया तो मुझे वास्तव में इसका जवाब देना चाहिए था। लेकिन आप सही हैं, जब मैं इस समस्या पर काम कर रहा था, तो सही बटन का चयन करने के लिए मेरे पास एक जटिल चयनकर्ता था। –