Я пытаюсь протестировать WebView с помощью Espresso.WebView содержит некоторые поля ввода и кнопку для перехода на следующую страницу.Я могу ввести текст в поля ввода.После выхода из поля ввода должно быть вызвано событие размытия, которое выполняет дополнительное форматирование и проверку.Однако событие размытия никогда не вызывается, и поэтому я не могу перейти к следующей странице.
Похоже, webKeys () просто вводит некоторый текст, а webClick () просто вызывает событие клика.Вероятно, поэтому фокус никогда не меняется, а событие размытия никогда не вызывается.Когда я сам физически нажимаю на поле ввода, событие запускается, и я также вижу курсор ввода Android.Когда тестовый пример запущен, я не вижу курсора, когда текст вводится в поля ввода.
Есть ли способ программно вызвать событие размытия или установить фокус на элемент в WebView с помощью Espresso?
Это код, который я использую для вставки текста.
public static void insertText(String label, String content)
{
onWebView().withElement(findElement(Locator.XPATH, "//div[preceding::span[.='" + label + "']]/input")).perform(clearElement()).perform(webClick())
.perform(webKeys(content));
}
Редактировать: Добавлены соответствующие зависимости.
implementation "androidx.test.espresso:espresso-idling-resource:3.2.0"
androidTestImplementation "androidx.test.espresso:espresso-core:3.2.0"
androidTestImplementation "androidx.test.espresso:espresso-intents:3.2.0"
androidTestImplementation "androidx.test.espresso:espresso-web:3.2.0"
androidTestImplementation "androidx.test.espresso:espresso-contrib:3.2.0"