2016-09-23 5 views
2

Задача обновления рамки автоматизации упала на меня. Я новичок в тестировании iOS, поэтому у меня возникают проблемы с новым драйвером XCUITEST в Appium-1.6.0-beta1.Поиск элементов по xpath в Appium с использованием драйвера XCUITEST

У меня есть драйвер и работает, но большинство элементов расположены с использованием xpaths в фреймворке (не совсем идеально, я знаю), что большинство элементов не имеют меток, имен или тегов доступности. Таким образом: локаторы имен исключаются для 90% элементов на данный момент.

The XPaths, кажется, питание в рамках старого яблочного (UIAutomation) и выглядеть следующим образом:

//UIAApplication[1]/UIAWindow[4]/UIAAlert[1]

Я попытался soemthing так:

//XCUIApplication[1]/XCUIElementTypeWindow[4]/XCUIElementTypeAlert[1]

Эти передаются в driver.find_element(:xpath, xpath_value) Не повезло. Кажется, я не могу найти документацию по этому вопросу и имел минимальный успех на дискуссионном форуме appium.

Может ли кто-нибудь указать мне на рабочий пример или документацию? Любой лучший способ сделать это?

Любой вход действительно поможет!

Спасибо, Peter

+0

Есть ли конкретная причина, почему вы не можете добавить теги доступности к этим элементам? –

+1

У меня нет контроля над dev, и из-за огромного размера приложения это будет долгий процесс.Я застрял с xpaths для определенных элементов. – pmck

ответ

4

Не все элементы XCUI прямые трансферты из UIAutomator. То, как я использую, чтобы запустить тесты без XPaths вам нужно, и при открытии на экране вы хотите перейти:

System.out.println(driver.getPageSource());

Тогда это дело чтения, что XML, чтобы получить нужный элемент , Гораздо более утомительный, но без инспектора appium в 1.6BetaX это единственный способ, которым я знаю, как получить иерархию XCUI.

+1

Это сработало! Cheers – pmck

+0

В настоящее время есть некоторые сторонние программы, которые потенциально могли бы сделать это проще, например https://github.com/mykola-mokhnach/Appium-iOS-Inspector. У меня лично не было возможности попробовать, но стоило бы посмотреть в качестве источника страницы печати является длительным процессом. – JaysonP

0

С небольшим обходного, вы можете использовать старый графический appium найти XPath зрения элементов для использования с Appium v1.6 Выполните шаг 1 в этой ссылке на среде: The good old Appium inspector, with a bit workaround

0

выше ответ на JaysonP работ хорошо, но есть еще способ использовать инспектор appium.

  1. Run appium вы используете (appium 1.6.x) от терминала/командной строки
  2. Открыть appium приложения GUI, но не запускать его
  3. В GUI, дают путь App
  4. Убедитесь и версия GUI, и версия, которую вы используете на терминале, используют один и тот же порт. Еще раз НЕ запускать appium из графического интерфейса
  5. Нажмите кнопку инспектора без запуска appium
  6. окна Инспектора должно быть открыто, и вы можете использовать так, как Вы использовали его ранее
Смежные вопросы