如何在Espresso中为Android工具栏后退按钮操作编写代码

时间:2016-11-22 10:57:54

标签: android android-toolbar android-espresso

在我的Android应用程序中,我有工具栏,需要在Espresso中执行工具栏后退按钮单击操作。 我尝试了以下但它不起作用

onView(withId(R.id.pageToolbar)).perform(click());

需要执行其后退按钮单击操作。

2 个答案:

答案 0 :(得分:3)

ContentDescription对我不起作用,所以我不得不使用:

        onView(allOf(
            instanceOf(AppCompatImageButton::class.java), withParent(withId(R.id.toolbar))
        ))
            .perform(click())

因为我无法在层次结构树中唯一标识它:

+-------->AppCompatImageButton{id=-1, visibility=VISIBLE, width=147, height=147, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@acd01cf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=21.0, y=0.0}

答案 1 :(得分:-1)

onView(withContentDescription("向上导航"))。执行(click());

注意:问题在于,例如在德国设备上,内容描述是德语,因此测试不会在那里找到它。