In my Roblectric test, I try to confirm permission dialog with UiDevice
@RunWith(RobolectricTestRunner::class)
@Config(sdk = [Build.VERSION_CODES.P])
open class FooTest {
@Before
private fun before() {
var device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
// Confirm permissions dialog with device object
// ...
}
but this line throws an NPE exception
var device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
with stack trace
java.lang.NullPointerException
at androidx.test.uiautomator.QueryController.<init>(QueryController.java:95)
at androidx.test.uiautomator.UiDevice.<init>(UiDevice.java:109)
at androidx.test.uiautomator.UiDevice.getInstance(UiDevice.java:261)
because UiDevice.getUiAutomation(instrumentation) is returning null
public QueryController(Instrumentation instrumentation) {
mInstrumentation = instrumentation;
UiDevice.getUiAutomation(instrumentation).setOnAccessibilityEventListener(mEventListener);
}