Резюме: У нас есть приложение Xaamrin Forms iOS \ Android. Моя цель - сделать авто-тесты для iOS -app, построенного с Xamarin. IOS 12.10 и Xcode 10.2.1. Сборки сделаны App Center. Целевые версии iOS: 12 и 13. Тестирование должно выполняться на реальных устройствах, поэтому я не беспокоюсь о симуляторах.
Проблема: на устройствах с iOS 13, дерево элементов содержит все элементы правильно, т.е. Appium может видеть все элементы и взаимодействовать с ними. Но после «синхронизации» (то есть загрузки базы данных из сервера в приложении. Это необходимо для работы приложения) дерево элементов сокращается всего на 2-3, каждый из которых представляет весь экран. Таким образом, тесты не могут найти конкретные элементы и потерпеть неудачу. Странно, но на iOS 12 вещах go все время сглаживается вне зависимости от того, загружено приложение или нет.
Используемые версии Appium: 1.15.1 - на локальной машине, 1.11 в App Center (хотя я полагаю, что они как-то его разветвили, но в документации об этом явно не сказано) Проблема возникла в обеих версиях.
Вопросы: Как элементы могут стать недоступными, как в общем случае? Что является наиболее вероятным источником проблемы в этом конкретном случае: iOS, Appium, может быть, само приложение? Кто-то препятствовал этой или подобной проблеме? Есть ли рабочее решение для этого?
Вот ссылки на источники страниц, которые мне удалось получить из тестов. Я получил эти два с одного устройства iPhone XR, iOS 13.3, Appium 1.15.1
Нормальное дерево элементов: https://drive.google.com/open?id=1G82n1xYAxiMQ3q-VV22NXCarM_2dXws3
Дерево элементов после БД Загрузить: https://drive.google.com/open?id=1nywD3ShSdb1lDbN77mGB6WW018RNjO4F