我有我想用咖啡來請單擊下面的菜單項:咖啡 - 點擊菜單項與應用:showAsAction =「ifRoom」
<item
android:id="@+id/action_save"
android:icon="@drawable/vector_image_save"
android:orderInCategory="4"
android:title="@string/menu_action_save"
app:showAsAction="ifRoom"/>
由於ifRoom
,在某些設備上的菜單顯示爲圖標在操作欄中,而在較小的設備中則顯示在「更多選項」下。
我可以使用下面的代碼,敲擊操作欄中的保存圖標: onView(withId(R.id.action_save)).perform(click());
而且我可以用下面的代碼挖掘上的保存,如果它是在「更多的選擇」存在: openActionBarOverflowOrOptionsMenu(InstrumentationRegistry.getTargetContext()); onView(withText(R.string.menu_action_save)).perform(click());
我想要一個在兩種情況下都能正常工作的測試方法。
僅供參考以下答案中有一個優雅的解決方案https://stackoverflow.com/a/40864574/340175 – JulianHarty