我在android Junit4中使用了ui自动化工具,但遇到了一个nullPointerException

pnwntuvh  于 2022-11-11  发布在  Android
关注(0)|答案(2)|浏览(120)

当我初始化UiDevice时,我得到了一个NullPointerExecption,下面是我的错误信息:
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.app.UiAutomation.setOnAccessibilityEventListener(android.app.UiAutomation$OnAccessibilityEventListener)”以下是我的代码

代码:

@RunWith(AndroidJUnit4.class)
public class DailyTest  { 

    @Rule
        public ActivityTestRule<MainActivity> activityTestRule = new ActivityTestRule(MainActivity.class, false, true);
    @Before
     public  void  setUp(){
            Instrumentation instrumentation =InstrumentationRegistry.getInstrumentation();
            Log.d(TAG,"instrumentation="+instrumentation);
            UiDevice uiDevice = UiDevice.getInstance(instrumentation);
            Log.d(TAG,"uiDevice="+uiDevice);
    }
}
yiytaume

yiytaume1#

您只能在测试方法中初始化UiDevice对象。当前您已使用@Before注解方法,该方法无法初始化UiDevice
最好将注解更改为@Test或在使用@Test注解的方法中初始化UiDevice
如果这没有帮助,请分享您的Module级别build.gradle

jc3wubiy

jc3wubiy2#

请尝试使用-w标志在adb上运行测试。这可能会有所帮助。

adb shell am instrument -w com.example.app.test/android.support.test.runner.AndroidJUnitRunner

相关问题