2017-12-06 34 views
1

エスプレッソはアプリケーションで重複IDが重複しているためにクラッシュします。AndroidJUnit4他のフラグメントで同じIDが使用されているためにエスプレッソクラッシュが発生する

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

クラッシュ

android.support.test.espresso.NoMatchingViewException: 階層でNOビューが一致を見つけない:IDを持つ: com.Example.activities:ID/linearMenu

+0

を呼び出し、エラーの完全なスタックトレースを投稿してください。重複IDには同じ値が与えられ、エラーは発生しません。 –

答えて

0

ここからcount child elements with same id

public static Matcher<View> withChildViewCount(final int count, final Matcher<View> childMatcher) { 
return new BoundedMatcher<View, ViewGroup>(ViewGroup.class) { 
    @Override 
    protected boolean matchesSafely(ViewGroup viewGroup) { 
     int matchCount = 0; 
     for (int i = 0; i < viewGroup.getChildCount(); i++) { 
      if (childMatcher.matches(viewGroup.getChildAt(i))) { 
       matchCount++; 
      } 
     } 

     return matchCount == count; 
    } 

    @Override 
    public void describeTo(Description description) { 
     description.appendText("ViewGroup with child-count=" + count + " and"); 
     childMatcher.describeTo(description); 
    } 
}; 

}

それからちょうど

onView(withId(R.id.view_group)).check(matches(withChildViewCount(2, withId(R.id.image_view)))); 
+0

しかしそれは線形レイアウトですそれは後ろのアイコン –

+0

私のeditted答えをチェックします。 – sasikumar

+0

現在のIDカウントを知る方法を50の重複IDが持つ場合 –

関連する問題