执行 Robotium 测试脚本抛出 NullPointerException

// Robotium 版本:v3.4.1

// Android 版本:v4.2.2

 

在 Eclipse 中执行 Robotium 测试脚本抛出如下异常:

java.lang.NullPointerException
at com.jayway.android.robotium.solo.ViewFetcher.getNonDecorViews(ViewFetcher.java:163)
at com.jayway.android.robotium.solo.ViewFetcher.getAllViews(ViewFetcher.java:85)
at com.jayway.android.robotium.solo.ViewFetcher.getViews(ViewFetcher.java:194)
at com.jayway.android.robotium.solo.ViewFetcher.getCurrentViews(ViewFetcher.java:312)
at com.jayway.android.robotium.solo.ViewFetcher.getCurrentViews(ViewFetcher.java:299)
at com.jayway.android.robotium.solo.Searcher.searchFor(Searcher.java:123)
at com.jayway.android.robotium.solo.Waiter.waitForView(Waiter.java:105)
at com.jayway.android.robotium.solo.Waiter.waitForAndGetView(Waiter.java:348)
at com.jayway.android.robotium.solo.Solo.enterText(Solo.java:1290)
at com.test.test.TestTextActivity.testText(TestTextActivity.java:25)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)

 

解决方法(先排除代码本身的问题)为:移除项目中旧版本的 Robotium 的 JAR 包,使用较新版本(v3.6 以上),导入到测试项目中。

PS: 这次解决问题时实际使用的 Robotium 版本为 v4.2.

 

参考资料:https://code.google.com/p/robotium/issues/detail?id=352

 


你可能感兴趣的:(android,robotium)