Как прокрутить экран в родном приложении для Android, используя утилиту просмотра, используя appium - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь автоматизировать приложение, созданное с использованием recyclerview. Всего 10 плиток, и на одном экране будут видны первые четыре плитки, и чтобы получить другие плитки, мне нужно переместить экран вверх. Я попытался переместить экран, найдя координаты и "(AndroidElement) driver.findElement (MobileBy.AndroidUIAutomator (" new UiScrollable (new UiSelector (). ResourceIdMatches (\ ". * Id / type_text \")). SetMaxSearchSwipes (5) .scrollIntoView ("new UiSelector (). text (\" "+ text +" \ "))")) "это, но есть небольшое движение на экране и не удалось получить оставшиеся плитки. Есть ли способпрокрутите до нижней части экрана, чтобы я мог также получить последнюю плитку.

Ответы [ 3 ]

0 голосов
/ 25 октября 2019

@ Саммар Ахмад, да, ты был прав. Я использовал неправильный элемент. Я постоянно пробовал и наконец работал после использования координат. Код выглядит примерно так, как показано ниже. Создал scroll () в классе домашней страницы и вызвал его из моего тестового класса

public void scroll(int x, int y) {
    int startY = (int) (driver.manage().window().getSize().getHeight() * 0.90);
    int endY = (int) (driver.manage().window().getSize().getHeight() * 0.10);
    TouchAction action = new TouchAction(driver);
    action.press(point(x, startY)).waitAction(waitOptions(ofSeconds(3))).moveTo(point(x, endY)).release().perform();
}

MobileElement startElement = (MobileElement) driver.findElementById("mention parent element here");
Point location = startElement.getLocation();
    homepage.scroll(location.x,location.y);
0 голосов
/ 12 ноября 2019
MobileElement listItem=(MobileElement)driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(text(\"<Mention your element text value here>\"))"));

Вы можете изменить код @ sammar следующим образом, чтобы перейти к элементу.

0 голосов
/ 25 октября 2019

Пожалуйста, попробуйте это. Я думаю, что в вашем UiScrollable есть какая-то проблема ..

MobileElement listItem=(MobileElement)driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()"
                  + ".scrollable(true)).scrollIntoView("
                  + "new UiSelector().text(\"<Mention your element text value here>\"))"));
...