2015-08-07 2 views
1

Использование Appium для автоматизации Android.
Я идентифицирую элементы, используя андроид UIAutomator
Проблема: У меня одиннадцать андроидов textview полей, которые меняются ежедневно.
Я не могу прочитать их значения, поскольку все одиннадцать полей имеют одинаковые classname и такие же resource -id.
Затем я попытался использовать Xpath, но то, что я увидел, было, когда я перехожу к textView. Все текстовые изображения имеют одинаковое значение индекса, в результате все 11 текстовых просмотров имеют одинаковые Xpath.не удалось найти элементы, используя uiautomator в родном приложении Android.

Я использую этот код:

List<WebElement> dailychanged=driver.findElementsById("resource-id of your elements"); 
for (int i = 0 ; i < 11 ; i++){ 
    System.out.println(dailychanged.get(i).getText()); 
} 

Сейчас я не в состоянии идентифицировать элементы. Пожалуйста, предложите.

+0

Вы можете поделиться снимком UIautomator – Gaurav

+0

Я использую этот код: Список dailychanged = driver.findElementsById ("resource-id ваших элементов"); for (int i = 0; i <11; i ++) { System.out.println (dailychanged.get (i) .getText()) }, но мой код способен читать только первые пять элементов, необходимых для следующих пяти элементов прокрутка для отображения на экране .. так что теперь реальный вопрос заключается в том, как я могу прочитать все элементы вида списка андроида, даже если им нужна прокрутка, чтобы быть видимой на экране –

+0

. Добавьте list.swipe (SwipeElementDirection.UP, 400) в петля – medy75

ответ

2

Попробуйте использовать атрибут @index для указания нужного. Например: //android.widget.EditText[@index=0].

Чтобы написать XPath:

  • а. Начать с класса // класс
  • b. Добавить атрибуты [@ attribute = "attribute_value"]
  • Например: XPath для определения текста 8 в приложение-калькулятор - “//android.widget.EditText[@index=0]”. We может использовать «текст», «описание содержимого» и другие атрибуты для записи xpath.

См. Полную статью here.

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