0

指示 :

adb shell am instrument -e  class com.vishal.nirma.test.MyActivity#MyFunction  com.vishal.nirma.test/android.test.InstrumentationTestRunner -e myvar myvalue

今、

protected void setUp() throws Exception {
        getActivity();
        super.setUp();

// here i want to receive arguments, which are passed in command line (ex. myvar).
       // how to receive arguments here?
} 

「 ActivityInstrumentationTestCase2 」を使用しています。

setup() で次のコードを試しましたが、うまくいきません。

Bundle extras = getActivity().getIntent( ).getExtras( );


        if ( extras != null ) 
        {

          Log.v(TAG,"Parameters Received !!!");

          if ( extras.containsKey ( "myvar" ) ) 
          {
            String str_myvar = extras.getString ( "myvar" );

          } else {

          }
        }
        else
        {
            Log.v(TAG,"No parameters ???");
        }

常に「パラメーターがありません???」と表示されます。

事前にご協力いただきありがとうございます... :-)

4

1 に答える 1

0

それがとても簡単だったら!コマンド ラインで渡す引数は、インストルメンテーション テスト ケースではなく、インストルメンテーション テスト ランナーによって使用されます。これは、ランナーを把握する必要があるそれらを把握することを意味します。

実際、使用しているテスト ランナーにインストルメンテーションをキャストできます。少し危険なキャストを行ったら、getBundle() を呼び出して、渡された引数を取得できます。それができたら、必要な値を取得できます。

于 2013-02-04T11:34:44.907 に答える