2016-03-23 3 views
1

Я хочу проверить параметр «Настройки» на панели инструментов. При щелчке параметра «Настройки» он запустит новую активность и из названия заголовка панели инструментов, которое я хочу подтвердить, запускается ли она с запуском или нет. Ниже приведен код: - Java кодКак нажимать на пункт меню на панели инструментов с помощью библиотеки тестового теста espresso

@RunWith(AndroidJUnit4.class) 
@SmallTest 
public class MainActivityTest { 

    @Rule 
    public ActivityTestRule<MainActivity> mainActivityActivityTestRule = new ActivityTestRule<>(MainActivity.class); 

    @Before 
    public void intialize(){ 

    } 

    @Test 
    public void testCanGoToSettings() { 
     onView(withId(R.id.toolbar)) 
       .perform(navigateTo(R.id.action_settings)); 
     String expectedNoStatisticsText = InstrumentationRegistry.getTargetContext() 
       .getString(R.string.action_settings); 
     onView(withId(R.id.toolbarSettings)).check(matches(withText(expectedNoStatisticsText))); 

    } 

}

XML код

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/home_menu"> 
    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:title="@string/action_settings" 
     app:showAsAction="never" /> 
</menu> 

Я получаю ниже ошибки.

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.xyz.android.control:id/toolbar 

Просьба помочь, как я могу это реализовать.

ответ

2

Я считаю, что этот ответ присваивается по этому вопросу: [https://stackoverflow.com/a/36656925/2688351][1].

В вашем случае вы должны написать что-то вроде этого:

// Click menu 
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext()); 

// Choose item "Settings" 
onView(withText(mActivity.getString(R.string.action_settings))).perform(click()); 

// Check that settings activity was opened 
onView(withText(mActivity.getString(R.string.some_settings_item))).check(matches(isDisplayed())); 

 Смежные вопросы

  • Нет связанных вопросов^_^