Работа с большими iOS TabelViews в Robot Framework с AppiumLibrary

98
5

В приложении много приложений TabelViews (ListViews), которые я автоматизирую с различными размерами. Почти во всех списках ячейки имеют общие атрибуты, по которым я могу найти их все, используя Get Webelements и взаимодействуя с элементом по определенному индексу. Поэтому у меня есть общее ключевое слово, которое отлично работает с небольшими списками (около 20 наименований):

Find element with locator in position x
[Arguments] ${position} ${locator}
wait until page contains element ${locator}
@{elements} = get webelements ${locator}
[Return] @{elements}[${position}]

Когда я пытаюсь использовать эту стратегию с TabelViews, которые имеют много элементов, все становится действительно запутанным, особенно если данные в TabelView загружаются с отложенной загрузкой (например, по 20 на каждую страницу).

Самое интересное, что когда я запускаю это ключевое слово, чтобы найти ячейку в TabelView, в которую загружено только 20 элементов (но если вы прокрутите до конца страницы, то будет загружено больше), иногда приложение находит 80 элементов, иногда он находит 40, иногда время ожидания, и когда я пытаюсь щелкнуть по элементу с индексом 0, это не удается сделать, поскольку размер этого элемента равен 0 для Appium.

Кажется, что какое-то волшебное приложение попадает в конец списка внизу, и начинает загружаться следующая порция данных, поэтому иногда я получаю 80 элементов, а иногда, если дела идут очень медленно, я получаю тайм-аут. И кажется, что элемент в индексе 0 становится не тем, что находится на экране в этот момент, а некоторым элементом из элементов, которые еще не тонут на экране.

Как только я отключаю ленивую загрузку из кода своего приложения для iOS и отображается только 1-я страница элементов (20 элементов), и appium не может получить следующую порцию из 20 элементов, все начинает работать, как и ожидалось.

Я полностью сбит с толку и не знаю, как идти дальше. Я много гуглил и пробовал всевозможные решения, но каждый раз получаю более точные результаты и безуспешно.

Если у всех есть такая проблема раньше, пожалуйста, помогите мне. Если вам нужна какая-либо другая информация, например, журнал приложений, точные способы решения этой проблемы, пожалуйста, дайте мне знать.

Версия Appium v1.12.1 Версия фреймворка робота 3.1.1 с Python 2.7 Версия библиотеки Appium 1.5.0.2 Версия iOS 11.4.1 и 12.2

спросил(а) 2019-04-22T23:33:00+03:00 1 год, 1 месяц назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема