android - 我将 ui automator 与 android Junit4 一起使用,但我得到了一个 nullPointerException

标签 android junit android-uiautomator

当我初始化 UiDevice 时,我得到了一个 NullPointerExecption ,这是我的错误信息:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.UiAutomation.setOnAccessibilityEventListener(android.app.UiAutomation$OnAccessibilityEventListener)' on a null object reference here is my code

代码:

@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);
    }
}

最佳答案

您只能在测试方法中初始化UiDevice 对象。 目前,您已使用 @Before 注释方法,它无法初始化 UiDevice

最好把注解改成@Test或者在@Test注解的方法中初始化UiDevice

如果这没有帮助,请分享您的 Module 级别 build.gradle

关于android - 我将 ui automator 与 android Junit4 一起使用,但我得到了一个 nullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55608688/

相关文章:

android - Espresso/UIAutomator 测试 - 无法找到/关闭 "Save password with Autofill with Google"对话框

Java Android Studio For循环超出其限制

java - 路径上的文本从 4.1.2 到 4.0.3 不起作用

Android WebView.loadDataWithBaseURL 第一页加载一团糟。如何解决?

Android 辅助功能 - 无法专注于 Appbar 中的任何元素

java - 如何使用 Mockito 在 Junit 中测试 switch case

java - 使用 Mockito 和 Java 8 流,如何确保过滤器子句正常工作?

Spring Boot 测试未使用测试属性

android - 如何使用 Eclipse 调试 UIAutomator 脚本

android - takeScreenshot 总是为 uiautomator 返回 false