Ваш подход немного ошибочен, вы не можете использовать Element.scrollIntoView , когда речь идет о Appium тестах, поскольку вы ограничены определенным списком мобильных команд Аппиум может понять.
Вам необходимо провести рефакторинг вашего кода, чтобы использовать mobile:shell
команду , что-то вроде:
Dimension windowSize = driver.manage().window().getSize();
Map<String, Object> args = new HashMap<>();
args.put("command", "input");
args.put("args", Lists.newArrayList("swipe", windowSize.width / 2,
windowSize.height / 2, windowSize.width / 2, windowSize.height));
while (driver.findElements(By.xpath("//android.view.View[@text='Karnataka']")).size() == 0) {
driver.executeScript("mobile: shell", args);
}
driver.findElement(By.xpath("//android.view.View[@text='Karnataka']")).click();
В качестве альтернативы вы можете использовать SwipeWhileNotFound доступна командачерез SeeTest Appium Extensions
seetest.swipeWhileNotFound("Up", 0, 2000, "NATIVE", "xpath=//android.view.View[@text='Karnataka']", 0, 1000, 5, true)