Espresso AmbiguousViewMatcherException al intentar hacer clic en un botón de navegación
Prueba que intento hacer: realizar una compra, anotar el título, volver a la actividad principal y pulsar "home_image", que es un botón de imagen.
Mi problema es que no puedo navegar por home_image. Lo presiono y obtengo una ID duplicada falsa. Creo que el ID duplicado se refiere a los fragmentos no visibles que tienen el mismo ID. Por qué no es un problema al comienzo de la prueba es raro. Lo siento tuvo que truncar los registros, debido al límite de texto. Lo que me gustaría hacer es lanzar la actividad de inicio directamente, pero esta suite es un dolor a la mitad para hacer cosas sencillas. Incluso un comando de deslizamiento obtendrá este error! La primera vez a través de todos estos botones de trabajo, estoy pensando que es un error en espresso y necesito un trabajo alrededor.
- Cómo obtener informes de cobertura de código de google Firebase para Android Espresso tests
- Android Studio no puede resolver Espresso 3.0.0
- ¿Cómo puedo probar setResult () en una prueba de Android Espresso?
- Espresso seleccionar niños del diseño incluido
- Android Espresso - Navegador Web
¡Gracias por sus ideas!
mSectionsPagerAdapter = new SectionsPagerAdapter( getFragmentManager() ); // Set up the ViewPager with the sections adapter. mViewPager = (ViewPagerExtended) findViewById( R.id.pager ); mViewPager.setAdapter( mSectionsPagerAdapter ); mViewPager.setSwipeEnabled( true ); final ImageButton homeImageButton = (ImageButton) findViewById( R.id.home_image ); final ImageButton exploreImageButton = (ImageButton) findViewById( R.id.explore_image ); final ImageButton profileImageButton = (ImageButton) findViewById( R.id.profile_image ); mViewPager.setOnPageChangeListener( new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected( int position ) { switch ( position ) { case 0: homeImageButton.setImageResource( R.drawable.home_icon ); exploreImageButton.setImageResource( R.drawable.explore_icon_inactive ); profileImageButton.setImageResource( R.drawable.profile_icon_inactive ); break; case 1: homeImageButton.setImageResource( R.drawable.home_icon_inactive ); exploreImageButton.setImageResource( R.drawable.explore_icon ); profileImageButton.setImageResource( R.drawable.profile_icon_inactive ); break; case 2: homeImageButton.setImageResource( R.drawable.home_icon_inactive ); exploreImageButton.setImageResource( R.drawable.explore_icon_inactive ); profileImageButton.setImageResource( R.drawable.profile_icon ); break; } } } ); homeImageButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View v ) { mViewPager.setCurrentItem( 0 ); } } ); exploreImageButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View v ) { mViewPager.setCurrentItem( 1 ); } } ); profileImageButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View v ) { mViewPager.setCurrentItem( 2 ); } } );
// Diseño aquí
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:tag="default" android:id="@+id/home" > <LinearLayout android:id="@+id/tab_bar" android:layout_width="match_parent" android:layout_height="48dp" android:background="@color/****_orange_light" android:gravity="center" > <ImageButton android:id="@+id/home_image" android:layout_width="0dp" android:layout_height="match_parent" android:src="@drawable/home_icon" android:layout_weight="1" android:background="#00000000" /> <ImageButton android:id="@+id/explore_image" android:layout_width="0dp" android:layout_height="match_parent" android:src="@drawable/explore_icon_inactive" android:layout_weight="1" android:background="#00000000" /> <ImageButton android:id="@+id/profile_image" android:layout_width="0dp" android:layout_height="match_parent" android:src="@drawable/profile_icon_inactive" android:layout_weight="1" android:background="#00000000" /> <android.support.v7.app.MediaRouteButton android:id="@+id/media_route_button" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:mediaRouteTypes="user" android:visibility="gone"
// Salida de prueba
Running tests Test running started android.support.test.espresso.AmbiguousViewMatcherException: 'with id: com.*******.main:id/home_image' matches multiple views in the hierarchy. Problem views are marked with '****MATCHES****' below. View Hierarchy: +>DecorView{id=-1, visibility=VISIBLE, width=1080, height=1776, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +->LinearLayout{id=-1, visibility=VISIBLE, width=1080, height=1776, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +-->ViewStub{id=16909070, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-->FrameLayout{id=-1, visibility=VISIBLE, width=1080, height=1701, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=75.0, child-count=1} | +--->FitWindowsLinearLayout{id=2131492941, res-name=action_bar_root, visibility=VISIBLE, width=1080, height=1701, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +---->ViewStubCompat{id=2131492942, res-name=action_mode_bar_stub, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +---->NativeActionModeAwareLayout{id=16908290, res-name=content, visibility=VISIBLE, width=1080, height=1701, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +----->RelativeLayout{id=2131492921, res-name=home, visibility=VISIBLE, width=1080, height=1701, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +------>LinearLayout{id=2131493015, res-name=tab_bar, visibility=VISIBLE, width=1080, height=144, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=4} | +------->ImageButton{id=2131493016, res-name=home_image, visibility=VISIBLE, width=360, height=144, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} ****MATCHES**** | +------->ImageButton{id=2131493017, res-name=explore_image, visibility=VISIBLE, width=360, height=144, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=360.0, y=0.0} | +------->ImageButton{id=2131493018, res-name=profile_image, visibility=VISIBLE, width=360, height=144, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=720.0, y=0.0} | +------->MediaRouteButton{id=2131493019, res-name=media_route_button, desc=Cast, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=false, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +------>ViewPagerExtended{id=2131493020, res-name=pager, visibility=VISIBLE, width=1080, height=1557, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=144.0, child-count=3} | +------->LinearLayout{id=2131493215, res-name=fragment_member_home, visibility=VISIBLE, width=1080, height=1557, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=-1080.0, y=0.0, child-count=3} | +-------->PagerSlidingTabStrip{id=2131493216, res-name=member_home_tabs, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +--------->LinearLayout{id=-1, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +---------->TextView{id=-1, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=MY CLASSES, input-type=0, ime-target=false, has-links=false} | +---------->TextView{id=-1, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=MY PATTERNS, input-type=0, ime-target=false, has-links=false} | +-------->View{id=-1, visibility=VISIBLE, width=1080, height=3, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-------->ViewPagerExtended{id=2131493217, res-name=member_home_view_pager, visibility=VISIBLE, width=1080, height=1554, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=3.0, child-count=2} | +--------->RelativeLayout{id=-1, visibility=VISIBLE, width=1080, height=1554, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +---------->SwipeRefreshLayout{id=2131493222, res-name=swipe_container, visibility=VISIBLE, width=1080, height=1554, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +----------->CircleImageView{id=-1, visibility=GONE, width=140, height=140, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=470.0, y=-140.0} | +----------->ListView{id=2131493178, res-name=courseGridView, visibility=VISIBLE, width=1080, height=1554, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +------------>LinearLayout{id=-1, visibility=VISIBLE, width=1080, height=905, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +------------->RelativeLayout{id=2131493121, res-name=courseGridCell, visibility=VISIBLE, width=1080, height=905, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=6} | +-------------->FrameLayout{id=2131493122, res-name=courseImageFrame, visibility=VISIBLE, width=1080, height=613, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +--------------->DynamicNetworkImageView{id=2131493123, res-name=courseImage, visibility=VISIBLE, width=1080, height=613, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +--------------->ImageView{id=2131493124, res-name=playButtonImage, visibility=VISIBLE, width=168, height=169, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=456.0, y=222.0} | +-------------->FontTextView{id=2131493125, res-name=titleText, visibility=VISIBLE, width=936, height=166, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=72.0, y=613.0, text=40 Techniques Every Sewer Should Know, input-type=0, ime-target=false, has-links=false} | +-------------->FontTextView{id=2131493126, res-name=instructorText, visibility=VISIBLE, width=376, height=105, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=72.0, y=779.0, text=with Gail Yellen, input-type=0, ime-target=false, has-links=false} | +-------------->View{id=2131493127, res-name=horizontalLine1, visibility=VISIBLE, width=1080, height=3, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=884.0} | +-------------->View{id=2131493128, res-name=footer_divider, visibility=VISIBLE, width=1080, height=3, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=884.0} | +-------------->View{id=-1, visibility=VISIBLE, width=1080, height=18, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=887.0} | +---------->SwipeRefreshLayout{id=2131493218, res-name=swipe_refresh_empty_container, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +----------->CircleImageView{id=-1, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +----------->ScrollView{id=-1, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +------------>LinearLayout{id=2131493219, res-name=not_enrolled_ui, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=4} | +------------->ImageView{id=2131493016, res-name=home_image, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} ****MATCHES**** | +------------->TextView{id=-1, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Welcome to *****. Looks like you aren't enrolled in any classes yet., input-type=0, ime-target=false, has-links=false} | +------------->Button{id=2131493220, res-name=explore_****_link, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Explore Classes, input-type=0, ime-target=false, has-links=false} | +------------->IconButton{id=2131493221, res-name=commercial_button, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Play Commercial, input-type=0, ime-target=false, has-links=false} | +--------->FrameLayout{id=-1, visibility=VISIBLE, width=1080, height=1554, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=1080.0, y=0.0, child-count=1} | +---------->RecyclerView{id=2131493227, res-name=recycler_view, visibility=VISIBLE, width=1080, height=1554, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=0} | +------->LinearLayout{id=-1, visibility=VISIBLE, width=1080, height=1557, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +-------->ListView{id=2131493190, res-name=categoryGridView, visibility=VISIBLE, width=1080, height=1557, has-focus=true, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=true, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3} | +--------->RelativeLayout{id=-1, visibility=VISIBLE, width=1080, height=504, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3} | +---------->TextView{id=2131493267, res-name=explore_text, visibility=VISIBLE, width=1080, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Explore, input-type=0, ime-target=false, has-links=false} | +---------->LinearLayout{id=2131493268, res-name=linear_layout, visibility=VISIBLE, width=1080, height=168, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=168.0, child-count=2} | +----------->Button{id=2131493269, res-name=on_sale_button, visibility=VISIBLE, width=513, height=168, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=18.0, y=0.0, text=On Sale, input-type=0, ime-target=false, has-links=false} | +----------->Button{id=2131493270, res-name=free_button, visibility=VISIBLE, width=513, height=168, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=549.0, y=0.0, text=Free, input-type=0, ime-target=false, has-links=false} | +---------->TextView{id=2131493271, res-name=category_text, visibility=VISIBLE, width=1080, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=336.0, text=Categories, input-type=0, ime-target=false, has-links=false} | +--------->LinearLayout{id=-1, visibility=VISIBLE, width=1080, height=540, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=504.0, child-count=2} | at dalvik.system.VMStack.getThreadStackTrace(Native Method) at java.lang.Thread.getStackTrace(Thread.java:579) at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:82) at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:53) at android.support.test.espresso.ViewInteraction.runSynchronouslyOnUiThread(ViewInteraction.java:185) at android.support.test.espresso.ViewInteraction.doPerform(ViewInteraction.java:115) at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:87) at com.****.****.main.tests.purchase.BasePurchaseTest.testHelperSeeIfTitleInLibrary(BasePurchaseTest.java:91) at com.****.****.main.tests.purchase.PurchaseTests.testPurchaseIsInGallery(PurchaseTests.java:184) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214) at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199) at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:115) at junit.framework.TestResult.runProtected(TestResult.java:133) at android.support.test.internal.runner.junit3.DelegatingTestResult.runProtected(DelegatingTestResult.java:90) at junit.framework.TestResult.run(TestResult.java:118) at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:49) at junit.framework.TestCase.run(TestCase.java:124) at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63) at junit.framework.TestSuite.runTest(TestSuite.java:243) at junit.framework.TestSuite.run(TestSuite.java:238) at android.support.test.internal.runner.junit3.DelegatingTestSuite.run(DelegatingTestSuite.java:103) at android.support.test.internal.runner.junit3.AndroidTestSuite.run(AndroidTestSuite.java:63) at android.support.test.internal.runner.junit3.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:24) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at org.junit.runner.JUnitCore.run(JUnitCore.java:136) at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:270) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
- Automatización de Android APK con Espresso
- Android Espresso: Ejecución de múltiples pruebas secuencialmente
- Android Conflict con dependencia appcompat
- ¿Cómo puedo obtener Application en espresso?
- ¿Es posible utilizar Butterknife para inyectar vistas en las clases de prueba espresso en android?
- Prueba de intentos de Espresso de Android falla al azar con `` init () se debe llamar antes de usar este método ``
- Android Espresso: ViewPager no tiene instancia de adaptador
- Prueba recyclerView con Espresso, cómo realizar clics o hacer afirmaciones
Esto no es un error en Espresso. La jerarquía de vistas muestra claramente dos vistas que tienen el mismo ID. Esto es probablemente debido a la vista que está dentro de un ViewPager, que es un AdapterView. Así que se esperan múltiples instancias.
Para resolver esto, sea más específico al hacer coincidir la vista. Ir sólo por ID no ayuda. Dado que el otro ImageView para el botón de inicio no está visible, porque es padre es GONE, simplemente puede coincidir con eso:
onView(allOf(withId(..), withEffectiveVisibility(VISIBLE))).perform(click());
- ¿Cómo mostrar el texto en el centro de un ProgressBar indeterminado (rueda giratoria)?
- Cambiar el diseño del teclado dinámicamente