Может быть, вы можете попробовать поиграть с командой "ime" из ADB, чтобы включить другую клавиатуру (например, вы можете записать возврат ime list
для получения идентификаторов) перед запуском ваших тестов (например, @Before):
getInstrumentation().getUiAutomation().executeShellCommand("ime enable ID");
Thread.sleep(1000);
getInstrumentation().getUiAutomation().executeShellCommand("ime set ID");
В противном случае вы можете обойти это с помощью uiautomator и выполнить проверку перед использованием клавиатуры с таким фрагментом кода:
...
onView(withId(R.id.inputField)).perform(click());
if (Build.VERSION.SDK_INT >= 23) {
UiDevice device = UiDevice.getInstance(getInstrumentation());
UiObject skipButton = device.findObject(new UiSelector().text("SKIP"));
if (skipButton.exists()) {
try {
skipButton.click();
Timber.e(e, "Dismissed popup on Keyboard");
} catch (UiObjectNotFoundException e) {
Timber.e(e, "There is no popup displayed on Keyboard");
}
}
}
onView(withId(R.id.inputField)).perform(typeText("some"), pressImeActionButton());
...
Надеюсь, эта помощь!