2012-02-23 8 views

答えて

4

performClick()メソッドを呼び出してください。参考までにthe View docsを参照してください。

Button button = (Button) findViewByid(R.id.mybutton); 
button.performClick(); 

あるいは、アイスクリームサンドイッチ(APIレベル15)のために開発した場合、callOnClick()方法が追加されました。しかし、performClick()はあなたのニーズに適しています。

1

Robotiumプロジェクトをご覧ください。これはAndroid用のテストフレームワークであり、あなたはそれで簡単に望むものを達成することができます。

+1

:あなたは、インストルメントテストをやっている私のような状況でここに来る未来の人々のために、あなたはこのようなものが必要になる場合があります – mfeingold

0

私はperformClickメソッド(間違ったスレッドとそれ以外のものの使用に関する)に多くの問題がありました。このandroid training lessonに概説されているTouchUtils.clickViewを使用すると、私はもっと多くの運がありました。いくつかのサンプル使用例を示します。

public class ClickFunActivityTest extends ActivityInstrumentationTestCase2 { 
    ... 
    @Override 
    protected void setUp() throws Exception { 
     super.setUp(); 

     setActivityInitialTouchMode(true); 

     mClickFunActivity = getActivity(); 
     mClickMeButton = (Button) 
       mClickFunActivity.findViewById(R.id.launch_next_activity_button); 
    } 

    public void testClickMeButton_clickButtonAndExpectInfoText() { 
     TouchUtils.clickView(this, mClickMeButton); 
     //Do some other testing afterward 
    } 
} 

完全なコードはhereにあります。

0

受け入れられた回答は私にとってはうまくいかなかった、私が使っていたものはperformClickメソッドを持っていなかった。私は、標準のAndroidのテストフレームワークの範囲内で滞在することを好むだろう今の

onView(withId(R.id.myButton)).perform(ViewActions.click()); 
関連する問題