2016-05-13 12 views
0

私はエスプレッソを使ってアプリをテストしています。このアプリには2つのListViewがあり、エスプレッソonData関数は2つのListViewを見つけますが、それらは異なるIDを持っています。エスプレッソのonDataは階層内の複数のビューに一致しますか?

コード:

onData(withId(R.id.order_jijia_listview)).perform(ViewActions.click()); 

結果:

ListView{id=2131493579, res-name=order_jijia_listview, visibility=VISIBLE, width=768, 
      height=659, 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=345.0, child-count=7} ****MATCHES**** 

ListView{id=2131493586, res-name=order_jijia_pop_listview, visibility=VISIBLE, width=0, 
      height=0, 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=true, is-selected=false, root-is-layout-requested=false, 
      has-input-connection=false, x=0.0, y=0.0, child-count=0} 

答えて

0

第二のListViewが****MATCHES****としてマークされていないので、問題がありません。

onDataは、ListView要素の場合のみ使用し、ListViewの場合は使用しないでください。 は、リストビューを見つけるには、あなたはonViewを使用する必要があります。

onView(withId(R.id.order_jijia_listview)).perform(ViewActions.click()); 

何を達成したいですか?リスト要素をクリックしますか? したがって、あなたは複雑なようマッチャーでonDataを使用する必要があります:あなたはofficial espresso tutorialonDataonViewについての詳細を読むことができます

onData(allOf(is(instanceOf(String.class)), is("Americano"))).perform(click()); 

関連する問題