Использование findElements()
для сбора всего пользовательского интерфейса в качестве MobileElements может быть очень сложным процессом, как вы заметили, особенно с использованием XPath.
Я хотел бы предложить вам изучить, какие типы классов элементовкак правило (или, мы надеемся, только) содержат текстовое содержимое в приложении и извлекают все эти элементы с помощью driver.findElements(By.className(""));
. В Android существует высокая вероятность того, что все текстовое содержимое использует TextViews: driver.findElements(By.className("android.widget.TextView"));
В iOS текстовое содержимое часто можно найти в XCUIElementTypeStaticText driver.findElements(By.className("XCUIElementTypeStaticText"));
driver.getPageSource()
будет последним средством для обеспечения эффективности вашей логики проверки.В этом случае вы бы отправили один запрос на сервер Appium и сразу получили бы всю информацию, которую искали.Синтаксический анализ XML не сложен для локального выполнения, но требует некоторых усилий для реализации.Чтобы сделать содержимое вызова driver.getPageSource () надежным, вам, вероятно, следует сначала подтвердить, что страница полностью загружена.