Espresso cliquez sur l'élément de menu

J'ai un menu dans l'actionbar que je crée par:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    menu.add(Menu.NONE, 98,Menu.NONE,R.string.filter).setIcon(R.drawable.ic_filter_list_white_48dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    menu.add(Menu.NONE, 99,Menu.NONE,R.string.add).setIcon(R.drawable.ic_add_white_48dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);


    getMenuInflater().inflate(R.menu.menu_main, menu);

    return true;
}

et menu_main.xml ressemble:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">
    <item
        android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never"
        android:icon="@drawable/ic_settings_white_48dp"/>
</menu>

Lors de l'essai de l'Espresso, je voudrais cliquer sur le "icône" ajouter " (menuId 99). J'ai essayé

@Test
public void testAdd() {
openActionBarOverflowOrOptionsMenu(InstrumentationRegistry.getTargetContext());
    onView(withText(R.string.add)).perform(click());
}

mais cela ne fonctionne pas avec une NoMatchingViewException. ( Les paramètres de l'élément, qui est défini dans le fichier xml directement je peux cliquer avec le même code. )

C'est pour targetSdkVersion 23 et AppCompatActivity. Les lignes de la barre d'outils sont les suivants:

Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
if( getSupportActionBar() != null ) {
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

et tool_bar.xml ressemble:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar     xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark"
    android:background="@color/ColorPrimary"
    android:elevation="4dp"
    tools:ignore="UnusedAttribute">
</android.support.v7.widget.Toolbar>
Ce targetSdkVersion, ActionBar et de l'appareil/émulateur utilisez-vous?. Voir la openActionBarOverflowOrOptionsMenu() mise en œuvre (à Expresso), dépend de ces facteurs. J'ai besoin d'enquêter sur elle, mais il ya quelque chose de mal, il n'y en fonction de l'émulateur que j'utilise.
targetSdkVersion 23 et AppCompatActivity. J'ai ajouté le code barre d'outils ci-dessus.
Pourrait-il y avoir un problème lors de l'appariement le texte avec "withText(R. string.ajouter)", comme le texte n'est pas visible, mais uniquement l'icône (R. drawable.ic_add_white_48dp) est-elle visible?
C'est sur un Sony Xperia SP (périphérique réel, pas d'émulateur).
Pas une solution, mais j'ai remarqué que "onView(withId(99)).effectuer(cliquez sur());" travaille, même si je me souviens avoir lu quelque part que ces "menu " Id" ne sont pas la même chose que la "view-id"....

OriginalL'auteur user1583209 | 2015-11-27