В приложении много приложений TabelView (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, точные способы, как я пытаюсь решить эту проблему, пожалуйста, дайте мне знать.
Версия Appium v1.12.1
Версия фреймворка робота 3.1.1 с Python 2.7
Версия библиотеки Appium - 1.5.0.2
Версия iOS 11.4.1 и 12.2