gpt4 book ai didi

Android Espresso 测试 NavigationView

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:01 25 4
gpt4 key购买 nike

我正在为我最近制作的应用程序编写一些 Espresso 测试。我在 DrawerLayout 中使用 NavigationView 作为滑动菜单。

我设法用这种方式打开了抽屉:

        onView(withId(R.id.drawer_layout)).perform(open());

这有效,所以现在我尝试在 NavigationView 中的菜单项上执行单击。

onView(withId(R.id.nav_register))..

找不到 View 。我尝试了几件事,但找不到检索菜单项 View 的方法。这是在代码中分配项目的方式:

    <android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />

和activity_main_drawer.xml

<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_menu_home"
android:title="Home" />
<item
android:id="@+id/nav_register"
android:icon="@drawable/ic_menu_register"
android:title="Registreer" />
<item
android:id="@+id/nav_login"
android:icon="@drawable/ic_menu_login"
android:title="Log in" />
<item
android:id="@+id/nav_play"
android:icon="@drawable/ic_menu_play"
android:title="Speel sessie" />
<item
android:id="@+id/nav_logout"
android:icon="@drawable/ic_menu_logout"
android:title="Log uit" />
</group>

我读到一些关于 NavigationViewMenuItem 是私有(private)成员且不可访问的内容。有人可以帮帮我吗?

您好!神诺

最佳答案

实际上,代表菜单项的View并不知道Android中菜单项的id。因此,withId() 方法在 Espresso 中不适用于菜单项。我建议你使用 withText 方法:

onView(withText("the item title")).

关于Android Espresso 测试 NavigationView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36106098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com