Test, który próbuję wykonać: dokonać zakupu, zanotuj tytuł, a następnie wróć do działania w domu i naciśnij "home_image", który jest przyciskiem obrazu.Espresso AmbiguousViewMatcherException podczas próby kliknięcia przycisku nawigacyjnego
Mój problem polega na tym, że nie mogę poruszać się po home_image. Naciskam to i otrzymuję fałszywy duplikat ID. Wierzę, że duplikat identyfikatora odnosi się do niewidocznych fragmentów, które mają ten sam identyfikator. Dlaczego nie jest to problem na początku testu jest dziwne. Przepraszamy, musiał skrócić dzienniki, ze względu na limit tekstu. To, co chciałbym zrobić, to po prostu uruchomić aktywność domową bezpośrednio, ale ten apartament jest o połowę uciążliwy dla prostych rzeczy. Nawet polecenie przesunięcia otrzyma ten błąd! Po raz pierwszy wszystkie te przyciski działają, myślę, że to błąd w espresso i potrzebuję obejść.
Dzięki za pomysły!
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);
}
});
// Układ tutaj
<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"
// Test wyjść
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)
Niezły pomysł, ale wciąż pojawia się wspomniany błąd. Mam viewPager, który zawiera kilka Fragmentów i recyclerView w każdym Fragment. '' 'android.support.test.espresso.AmbiguousViewMatcherException: '(z id: com.my.package/poi_recycler_view i view ma efektywną widoczność = VISIBLE)' dopasowuje wiele widoków w hierarchii. '' ' – Hesam
Moje rozwiązanie do mojego powyższego problemu' '' OnView (allOf ( withId (R.id.poi_recycler_view), isDisplayed())) .Przeprowadzić (scrollTo (hasDescendant (WithText (mydestination))), kliknij()); '' ' – Hesam
dla mnie działa tylko z hasFocus(), wszystkie widoki recyklingu były widoczne i wyświetlane: onView (allOf (withId (R.id.recycler_id), hasFocus())). Perform (RecyclerViewActions.actionOnItemAtPosition (2, kliknij())); –