Я использую следующий метод для прокрутки экрана:
public static MobileElement scrollElementByContentDesc(String scrollableList, String uiSelector, String textToSearchInList) {
return driver.findElement(MobileBy.AndroidUIAutomator(
"new UiScrollable(new UiSelector().resourceId(\"" + scrollableList + "\")).getChildByDescription("
+ "new UiSelector().className(\"" + uiSelector + "\"), \"" + textToSearchInList+ "\")"));
}
scrollableList - это идентификатор вашего прокручиваемого элемента списка,
uiSelector является className элемента списка,
textToSearchInList может быть любым текстом, который необходимо найти в списке. Это может быть любой случайный текст, если ваша цель - просто прокрутить список до конца.
Вызовите этот метод из любого метода:
public void someMethod(){
//other code
try{
MobileElement element= scrollElementByContentDesc("your scrollableList id",
"uiSelector classname", "any text you need to find in the list);
}catch(Exception e){
//do nothing
}
}
Если вы хотите провести по co0rdinate, вы можете сделать это следующим образом.
import io.appium.java_client.TouchAction;
import io.appium.java_client.touch.WaitOptions;
import io.appium.java_client.touch.offset.PointOption;
import java.util.concurrent.TimeUnit;
import static java.time.Duration.ofSeconds;
TouchAction action = new TouchAction(driver);
action.press(PointOption.point(115, 650)).waitAction(WaitOptions.waitOptions(ofSeconds(1)))
.moveTo(PointOption.point(115, 350)).release().perform();
Обязательно импортируйте правильную библиотеку.