2016-03-11 4 views
10

मैं एंड्रॉइड विकास के लिए नया हूं। मैं एस्प्रेसो का उपयोग यह जांचने के लिए करना चाहता हूं कि मेरा दराज खुलता है, फिर किसी आइटम पर क्लिक करें और जांचें कि यह एक नई गतिविधि खोलता है। मैं इसके बारे में उदाहरण खोज रहा हूं लेकिन कोई भाग्य नहीं है।एंड्रॉइड - एस्प्रेसो का उपयोग कर नेविगेशन ड्रॉवर पर किसी आइटम पर क्लिक कैसे करें?

उत्तर

18
@Test 
public void clickOnYourNavigationItem_ShowsYourScreen() { 
    // Open Drawer to click on navigation. 
    onView(withId(R.id.drawer_layout)) 
     .check(matches(isClosed(Gravity.LEFT))) // Left Drawer should be closed. 
     .perform(DrawerActions.open()); // Open Drawer 

    // Start the screen of your activity. 
    onView(withId(R.id.nav_view)) 
     .perform(NavigationViewActions.navigateTo(R.id.your_navigation_menu_item)); 

    // Check that you Activity was opened. 
    String expectedNoStatisticsText = InstrumentationRegistry.getTargetContext() 
     .getString(R.string.no_item_available); 
    onView(withId(R.id.no_statistics)).check(matches(withText(expectedNoStatisticsText))); 
} 

यह वही करता है जो आप खोज रहे हैं।

अन्य उदाहरण उपलब्ध here या here

+0

कस्टम में 'navigateTo' के लिए स्रोत कोड लिंक ViewAction टूट गया है की तरह लग रहा है। –

+0

@ सुदर्शनजीपी आप सही हैं। ऐसा लगता है कि इसे एंड्रॉइड एसडीके में जोड़ा गया है। मैं जवाब में संदर्भ अद्यतन करने जा रहा हूँ। 'Android.support.test.espresso.contrib' में परिभाषित 'NavigationViewActions' का उपयोग करें – GVillani82

संबंधित मुद्दे