Проведите пальцем до элемента, которого нет в dom в appium ios - PullRequest
0 голосов
/ 05 января 2019

У меня есть приложение, в котором конкретный родитель имеет n элементов, скажем, 10 элементов (плиток) и только 5 присутствуют в DOM и видны на текущем экране. Следующие 5 появятся в дом / экран при смахивании. Как пролистать до определенного элемента, скажем, 7-й элемент?

Я не могу найти элемент по id / name, так как элемент не находится в dom, поэтому я не могу использовать swipe до тех пор, пока элемент не будет виден. Кроме того, количество таких элементов варьируется в зависимости от того, как настроена серверная система, поэтому я не могу сделать фиксированное количество ударов. Кроме того, поскольку я не знаю последний элемент в родительском элементе, я рискую столкнуться с бесконечным циклом, если конкретный элемент отсутствует в приложении (из-за ошибки).

Пожалуйста, помогите, как решить эту проблему.

1 Ответ

0 голосов
/ 07 января 2019

Вы можете использовать следующие методы для прокрутки вниз до ожидаемого элемента. Чтобы избежать бесконечного цикла, вы можете вести счет цикла while.

public void scrollDown()
{
    TouchAction action = new TouchAction((AppiumDriver)driver);
    action.press(new PointOption().point(300, 701)).waitAction(newWaitOptions().waitOptions(Duration.ofSeconds(2))).moveTo(new PointOption().point(300, 441)).release();
    action.perform();
}


public void scrollTillElement(By element)
{
    int countofLoop = 0;
    List<WebElement> elements = driver.findElements(element);

    while (elements.size()==0)
    {
        countofLoop++;
        scrollDown();
        elements = driver.findElements(element);
        if(countofLoop==20)
         {
            break;
         }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...