После исчерпывающих поисков этого на различных форумах у меня все еще нет ответа. Вот полная информация
Я идентифицирую элемент через имя класса, которое указывает на несколько (4) кнопок. Я просматриваю кнопки, а затем ищу текст, и когда есть совпадение, я нажимаю его.
Это отлично работает с selenium webdriver и такими браузерами, как firefox, chrome.
Теперь то же самое делаю с appium. Из 4 кнопок, которые идентифицируются с помощью имени класса, сценарий нажимает 2 кнопки успешно, но для двух кнопок происходит нажатие (я вижу, что кнопка нажата), но новая страница, которая должна быть загружена, не загружается. Кнопки, для которых не происходит нажатие, находятся в классе нижнего колонтитула, а две другие - в классе div.
То, что я уже пробовал
- Конструктор действий - щелкните (), щелкните и удерживайте ()
- Исполнитель Javascript
В настоящее время я пытаюсь использовать параметры сенсорного управления, коснитесь и, переключившись на собственный вид, но безуспешно.
Если кто-то столкнулся с таким же, решение будет оценено.
Я хочу избежать использования xPath, потому что это может измениться на странице, над которой я работаю, и хочу подчеркнуть, что скрипт может найти кнопку, но не может правильно ее щелкнуть.
3 ответа
Обновление java-клиента appium до 1.5.0 (с 1.3.0) решило проблему. Нужно проверить почему!
Вы могли видеть: Не удается найти элемент в браузере эмулятора Android с помощью Appium и C #? В случае тестирования веб-приложений в браузере элементы должны располагаться как обычные элементы на веб-странице (а не как некоторые классы, такие как android.widget.EditText и android.widget.Button).
Вы можете фильтровать свой локатор, используя имя класса и индекс. Как это:
driver.findElementsByXPath("//*[@class='android.widget.ImageView' and @index='0']");
Этот xpath не изменится и на других устройствах.
Похожие вопросы
Связанные вопросы
Новые вопросы
selenium
Selenium - это популярный инструмент с открытым исходным кодом для автоматизации веб-браузеров. При использовании этого тега также включайте другие теги для конкретных компонентов, которые вы используете, например, селен-вебдрайвер для языковых привязок, selenium-ide, selenium-grid и т. д.