Отключить функцию автокоррекции в тесте Эспрессо - PullRequest
0 голосов
/ 24 августа 2018

Я написал тест эспрессо, который записывает некоторый текст в TextView, выполняет действие и затем проверяет, остается ли текст в TextView таким же.

Тест не пройден на одном из тестовых устройств (Huawei P20, Android 8.1.0), поскольку введенный текст автоматически корректируется (от 1234 5678 до 12th 5678). И это не проходит мой тест. Текст не корректируется автоматически, когда я вручную ввожу те же цифры.

Вот как я ввожу текст в своем тесте эспрессо:

onView(withId(R.id.reference_value))
            .perform(scrollTo(), click())
            .check(matches(isDisplayed()))
            .perform(typeText("1234 5678"));
        closeSoftKeyboard();

Я знаю, что могу просто изменить введенный текст на что-то, что не будет автоматически исправлено. Но я хотел бы иметь решение, которое обычно гарантирует, что введенный текст не будет изменен на что-то другое. В идеале, без необходимости вручную изменять конфигурацию моего тестового устройства.

Кто-нибудь из вас, ребята, знает, как мне это сделать?

1 Ответ

0 голосов
/ 23 января 2019

Один из способов, который мне подходит, - это вместо этого использовать replaceText(), хотя, похоже, это все равно что взломать.

Другой вариант может состоять в том, чтобы отключить автозамену через некоторый вызов Android API или вручную через пользовательский интерфейс, как для анимаций .

...