Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单Android JUnit测试期间Robotium崩溃_Android_Testing_Junit_Robotium - Fatal编程技术网

简单Android JUnit测试期间Robotium崩溃

简单Android JUnit测试期间Robotium崩溃,android,testing,junit,robotium,Android,Testing,Junit,Robotium,我无法运行一个微不足道的Robotium测试: public class TapsTest extends ActivityUnitTestCase<Ad> { public TapsTest() { super(Ad.class); } Solo mSolo; @Override protected void setUp() throws Exception { super.setUp(); mSolo = new Solo(getInstrumentatio

我无法运行一个微不足道的Robotium测试:

public class TapsTest extends ActivityUnitTestCase<Ad>  {
public TapsTest() { super(Ad.class); }

Solo mSolo;

@Override
protected void setUp() throws Exception {
    super.setUp();
    mSolo = new Solo(getInstrumentation(), getActivity());      
}

public void testTabTaps() {
    assertTrue(mSolo.searchText("Latest")); // NPE thrown here
   }
}
在我的两台设备(Android 4.1.0和4.0.3)和ADV上,最初Robotium抱怨缺少V4支持库(我们不需要它用于其他目的),所以我添加了Android-support-v13.jar。现在,类not found异常已消失,但NPE仍然存在。我还尝试手动启动活动:

    Ad ado = startActivity(new Intent("android.intent.action.MAIN"), null, null);
    mSolo = new Solo(getInstrumentation(), ado);        
但NPE仍然存在。我尝试了
mSolo.searchButton(“Go”)
,在UI上有一个带有此文本的按钮,它是可见的,仍然是Robotium中第113行的NPE

如果未进行测试,应用程序本身将正确启动和运行。另外,其他ActivityUnitTestCase测试(不带Robotium)运行并通过时不会出现问题


我尝试从中使用robotium-solo-3.6.jar。

是否有任何原因,您使用ActivityUnitTestCase? 您更应该使用ActivityInstrumentationTestCase2。 然后您必须更改构造函数-将包添加为参数。
请看这里:

是否有任何原因,您使用ActivityUnitTestCase? 您更应该使用ActivityInstrumentationTestCase2。 然后您必须更改构造函数-将包添加为参数。 看这里:

    Ad ado = startActivity(new Intent("android.intent.action.MAIN"), null, null);
    mSolo = new Solo(getInstrumentation(), ado);