Ответ
Имею опыт работы с Selenium для автоматизации тестирования Android-приложений через WebDriver. Использовал его в связке с Appium для эмуляции пользовательских действий (клики, свайпы, ввод текста).
Пример кода для теста входа:
val driver = AndroidDriver<WebElement>(URL("http://127.0.0.1:4723/wd/hub"), capabilities)
driver.findElement(By.id("login_field")).sendKeys("test@example.com")
driver.findElement(By.id("password_field")).sendKeys("123456")
driver.findElement(By.id("login_button")).click()
Основные сложности:
- Нестабильность локаторов (решение: явные ожидания
WebDriverWait) - Ограниченная поддержка жестов (например, долгое нажатие)
- Необходимость кастомизации под конкретные устройства.
Для UI-тестов чаще предпочитаю Espresso из-за лучшей интеграции с Android SDK.