Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:Espresso无法识别第二个导航视图_Android_Android Espresso - Fatal编程技术网

Android:Espresso无法识别第二个导航视图

Android:Espresso无法识别第二个导航视图,android,android-espresso,Android,Android Espresso,我在我的应用程序中使用了两个导航视图,第二个(右)视图是通过自定义组件。它在手动测试时工作正常,但浓缩咖啡在测试时无法识别。第二个导航保持不可见,并在相应方法的创建方法中激活它 我试着用同样的方法测试第一个导航视图,效果很好 下面是相关的代码片段和日志 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas

我在我的应用程序中使用了两个导航视图,第二个(右)视图是通过自定义组件。它在手动测试时工作正常,但浓缩咖啡在测试时无法识别。第二个导航保持不可见,并在相应方法的创建方法中激活它

我试着用同样的方法测试第一个导航视图,效果很好

下面是相关的代码片段和日志

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout   
   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"
   android:id="@+id/drawer_layout"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:fitsSystemWindows="true"
   tools:openDrawer="start">

    <include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

   <android.support.design.widget.NavigationView
    android:id="@+id/nav_left_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" />

   <com.example.tt0401.NavigationViewRight
    android:id="@+id/nav_right_view"
    android:layout_width="wrap_content"
    android:layout_height="600dp"
    android:layout_marginTop="80dp"
    android:layout_gravity="end"
    android:fitsSystemWindows="true"
    android:visibility="gone"
    app:itemBackground="@drawable/nav_item_selector"
    app:headerLayout="@layout/nav_header_right"
    app:menu="@menu/activity_right_drawer" />

</android.support.v4.widget.DrawerLayout>
浓缩咖啡故障日志

01-02 12:25:58.228 18570-18585/?I/TestRunner:android.support.test.espresso.PerformException:执行“在视图上单击id为的菜单项”时出错,id为:com.example.tt0401:id/nav_right_view”。 位于android.support.test.espresso.PerformException$Builder.build(PerformException.java:83) 位于android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:80) 位于android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:56) 在android.support.test.espresso.ViewInteraction.runSynchronouslyOnUiThread(ViewInteraction.java:184)中 在android.support.test.espresso.ViewInteraction.doPerform(ViewInteraction.java:115)上 在android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:87) 位于com.example.tt0401.RecordActivity3Test.navigationDrawer(RecordActivity3Test.java:135) 位于java.lang.reflect.Method.invoke(本机方法) 位于org.junit.runners.model.FrameworkMethod$1.runReflectVeCall(FrameworkMethod.java:50) 位于org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 位于org.junit.runners.model.FrameworkMethod.invokeeexplosive(FrameworkMethod.java:47) 位于org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 位于org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) 位于android.support.test.internal.statement.UiThreadStatement.evaluate(UiThreadStatement.java:55) 位于android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:270) 位于org.junit.rules.RunRules.evaluate(RunRules.java:20) 位于org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 位于org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 位于org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 位于org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 访问org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 位于org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 位于org.junit.runners.ParentRunner.run(ParentRunner.java:363) 位于org.junit.runners.Suite.runChild(Suite.java:128) 位于org.junit.runners.Suite.runChild(Suite.java:27) 位于org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 位于org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 位于org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 访问org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 位于org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 位于org.junit.runners.ParentRunner.run(ParentRunner.java:363) 位于org.junit.runner.JUnitCore.run(JUnitCore.java:137) 位于org.junit.runner.JUnitCore.run(JUnitCore.java:115) 位于android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59) 位于android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262) 位于android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932) 原因:java.lang.RuntimeException:将不执行操作,因为目标视图与以下一个或多个约束不匹配: (可从类中分配:类android.support.design.widget.NavigationView和view具有有效可见性=可见,并且至少90%的视图区域显示给用户。)
@Test
public void navigationDrawer() throws Exception {
fabAddClick();
onView(withId(R.id.drawer_layout)).perform(DrawerActions.open(Gravity.END));
onView(withId(R.id.nav_right_view)).perform(NavigationViewActions.navigateTo(1000003));
}
  android:visibility="gone"