命令:
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 ???");
}
它总是给我“没有参数???”。
先谢谢你的帮助......: - )
答案 0 :(得分:0)
如果只是这么容易!您在命令行传递的参数将由检测测试运行器使用,而不是Instrumentation测试用例。这意味着抓住他们需要得到跑步者。
您实际上可以将Instrumentation转换为您正在使用的测试运行器,一旦您执行了稍微不安全的转换,您就可以调用getBundle()来获取传递给它的参数。完成后,您就可以获得所需的值。