मैं, एक परीक्षण एस्प्रेसो का उपयोग कर बनाने हूँ पहले मैं कार्रवाई बार खोलें:जब onView का उपयोग कर (withId (...))
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
सब कुछ ठीक करने के लिए यहाँ, लेकिन फिर मैं एक विकल्प मेनू पर क्लिक करें:
onView(withId(R.id.action_menu)).perform(click());
मेनू लेआउट एक्सएमएल आईडी के साथ एक विकल्प होता है: "action_menu"।
मैं एक त्रुटि मिलती है:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: ***.********.******.android.debug:id/action_menu
If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.support.v7.widget.ListPopupWindow$DropDownListView{43fd3f58 VFED.VC. .F...... 24,24-612,168}
मैं का उपयोग कर काम करने के लिए इस कदम मिला:
onView(withText(R.string.action_report)).perform(click());
मैं पता है कि हालांकि आईडी के साथ गलत हो रहा है करना चाहते हैं।
कोई विचार?
आईडी आइटम वास्तव में है = "@ + id/action_menu"? यह टेक्स्ट मैचर से लगता है कि यह रिपोर्ट_एक्शन की तरह अधिक विशिष्ट हो सकता है। – siger
हाय साइगर, हाँ आइटम में आईडी 'एंड्रॉइड है: id =" @ + id/action_menu "' लेकिन एस्प्रेसो केवल पाठ द्वारा खोज रहा है। अभी भी नहीं पता क्यों ... –