1

Androidテストを使用して、テスト用のメニューのSearchViewにアクセスする方法について、JavaDocsに例やヘルプが見つかりません。それを行う方法はありますか?

.setQuery("Foo", true)アプリでテスト検索と同等の方法を実行したいと思います。どうすればそれができますか?

4

2 に答える 2

2

このドキュメントによると

注: アクション ビューの折りたたみはオプションですが、アクション ビューに SearchView が含まれている場合は、常に折りたたむことをお勧めします。また、一部のデバイスには専用の検索ボタンが用意されているため、ユーザーが検索ボタンを押した場合は検索アクション ビューを展開する必要があることに注意してください。アクティビティの onKeyUp() コールバック メソッドをオーバーライドし、KEYCODE_SEARCH イベントをリッスンしてから、expandActionView() を呼び出すだけです。

KEYCODE_SEARCH イベントの検索ビューを展開した場合は、インストルメンテーションを使用してイベントを挿入することでテストが可能になります。

public void testSearch() { 
   Instrumentation instrumentation = getInstrumentation(); 
   instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_SEARCH); 
   instrumentation.sendCharacterSync(KeyEvent.KEYCODE_F); 
   instrumentation.sendCharacterSync(KeyEvent.KEYCODE_O); 
   instrumentation.sendCharacterSync(KeyEvent.KEYCODE_O);
   //Assert here for whatever you want. 
}

マニフェストに挿入権限があることを確認してください。

于 2012-07-08T17:00:27.887 に答える
1

それを行うにはmonkeyrunnerを使用できると思います:http://developer.android.com/tools/help/monkeyrunner_concepts.html

于 2012-07-01T13:21:42.023 に答える