2014-07-16 4 views
0

Я новичок в автоматизации, Android, селене, appium и xpath. Я знаю, что это сосать великое начало.Иерархия Android для XPath для взаимодействия с определенным элементом

Я пишу тесты для устройств Android, но приложение, которое я должен тестировать, имеет много просмотров. Я узнал, что лучший способ взаимодействовать с этими пользовательскими элементами - это поставить поле «android: contentDescription» в представлениях. Мой единственный вопрос - как получить доступ к элементу с указанным контентом contentDescription? Это особый вопрос az android, я даже не уверен, что контент-desc - это поле, которое я ищу.

У меня есть иерархия, представленную Android UI Аниматор просмотра:

http://i.imgur.com/NUGc56o.png

Пути я пробовал:

  • XPath: // * [содержит (@android: contentDescription, 'example text')]
  • Мне удалось получить доступ, найдя их как ImageView, но, как я уже говорил, мне нужно работать с пользовательскими видами.

Мой код выглядит somtihng так:

driver.findElementByXPath("//*[constains(@content-desc,'Login')]").click();

Спасибо за помощь!

ответ

1

Вы также можете попробовать использовать метки специальных возможностей или стратегию локатора UIAutomator. Вот Appium's documentation on those.

Ваш неверный адрес исправления. Оно должно быть: "//android.widget.ImageView[@content-desc='Login']"

Вот некоторые псевдокоды, что вы должны сделать:

login_image = driver.findElementByXPath("//android.widget.ImageView[@content-desc='Login']"); // Gets you the WebElement 

print login_image.getClass(); // Just for debugging, make sure it's not nil/null 

login_image.click(); // Click on it! 
+0

Спасибо за ответ, но это не мое дело :(Я уверен, что мой XPath правильно это только общая версия твоих Моя проблема заключается в том, что я не знаю, как работает андроид в этом случае. Использует ли он это (я думаю) поле (контент-desc или что-то еще), или я должен выбрать другой способ получить доступ к элементам. – stsatlantis

+1

Отредактировано добавьте другие стратегии локатора – sheeptest

+0

Спасибо, ваше редактирование помогло Lot! Если кому-то это может понадобиться, я оставляю его здесь: Это был ключевой документ: https://code.google.com/p/seleni гм/источник/просмотр/spec-draft.md? репо = мобильный & г = 1b90597cfde5f2deab58c506d4867fa1d165709a – stsatlantis

Смежные вопросы