После исчерпывающих поисков этого на различных форумах у меня все еще нет ответа. Вот полная информация

Я идентифицирую элемент через имя класса, которое указывает на несколько (4) кнопок. Я просматриваю кнопки, а затем ищу текст, и когда есть совпадение, я нажимаю его.

Это отлично работает с selenium webdriver и такими браузерами, как firefox, chrome.

Теперь то же самое делаю с appium. Из 4 кнопок, которые идентифицируются с помощью имени класса, сценарий нажимает 2 кнопки успешно, но для двух кнопок происходит нажатие (я вижу, что кнопка нажата), но новая страница, которая должна быть загружена, не загружается. Кнопки, для которых не происходит нажатие, находятся в классе нижнего колонтитула, а две другие - в классе div.

То, что я уже пробовал

  1. Конструктор действий - щелкните (), щелкните и удерживайте ()
  2. Исполнитель Javascript

В настоящее время я пытаюсь использовать параметры сенсорного управления, коснитесь и, переключившись на собственный вид, но безуспешно.

Если кто-то столкнулся с таким же, решение будет оценено.

Я хочу избежать использования xPath, потому что это может измениться на странице, над которой я работаю, и хочу подчеркнуть, что скрипт может найти кнопку, но не может правильно ее щелкнуть.

0
jitinsharma 9 Мар 2015 в 16:35

3 ответа

Лучший ответ

Обновление java-клиента appium до 1.5.0 (с 1.3.0) решило проблему. Нужно проверить почему!

0
jitinsharma 16 Июн 2016 в 05:16

Вы могли видеть: Не удается найти элемент в браузере эмулятора Android с помощью Appium и C #? В случае тестирования веб-приложений в браузере элементы должны располагаться как обычные элементы на веб-странице (а не как некоторые классы, такие как android.widget.EditText и android.widget.Button).

0
Alex 10 Мар 2015 в 09:26

Вы можете фильтровать свой локатор, используя имя класса и индекс. Как это:

driver.findElementsByXPath("//*[@class='android.widget.ImageView' and @index='0']");

Этот xpath не изменится и на других устройствах.

0
Gaurav 9 Мар 2015 в 13:39