TouchUtils.clickView()
アプリのテストで別の画面に移動するために使用しようとしています。への呼び出しはclickView
常に間違ったビューをクリックします:
public void navigateToWorkout(int i) {
mMonitor = mWorkout.setMonitor(mInstrumentation);
final LinearLayout clickme = (LinearLayout) mWorkouts.getChildAt(i);
pc.runOnUiThread(
new Runnable(){
public void run(){
clickme.setBackgroundColor(Color.CYAN);
}
}
);
try { Thread.sleep(500); } catch (Exception e) {}
TouchUtils.clickView(MyApplicationTest.this, clickme);
mWorkout.getFromMonitor(mMonitor);
}
正しい項目 ( LinearLayout
) がListView
シアンに変わり、0.5 秒後に への呼び出しによって、フォーカスclickView
のある でクリック イベントが生成されますEditText
( の目に見えるフラッシュで示されますEditText
)。
エミュレーターで新しく CYANed された項目をクリックするだけListView
で、項目をクリックして別の画面に移動しようとするまで、テストが再び機能し始めListView
ます。次に、もう一度、EditText
フォーカスのある をクリックして、アイテムを手動でクリックしない限り動かなくなります。
このプロジェクトを何ヶ月も機能していた古いデスクトップから新しいラップトップにインポートして以来、これは機能していません。2つを並べて比較できればいいのですが、古いデスクトップは恐ろしい死を遂げ、開発のためにラップトップに切り替えるようになりました。
ハンドラーまたは呼び出しようとしているビューにさらにコードを提供することもできますOnClick
が、手動で数回クリックするだけでアプリが機能します。私の悩みはすべてテストにあります。私はこの仕事をしようとすることにかなり固執しており、どんな提案も喜んで試していきます.