Geckodriver не поддерживает работу Action

Доброго времени суток.

Хочу реализовать у себя во framework работу с Action, так как он обладает большим функционалом необходимым для меня. И к сожалению для себя прочел, что в geckodriver работа с ним не реализована. Подскажите простые и эффективные решения по замене функциональности Action (doubleClick,работа с выпадающими списками…).
P.S. Откат firefox до прошлых версий не подходит

Selenium v3.0.1
Geckodriver v0.14
Firefox v51.0.1

Благодарю за помощь.

1 лайк

Лучше всего будет подождать. Реализация Actions для гекко драйвера надеюсь не за горами.

1 лайк

Скоро на проект, а там, я уверен, будут случаи с которыми Actions справляется на раз + потребуют одинаковой работы как для Firefox так и для Chrome. Поэтому ищу аналоги

Ещё годок и все будет ок

1 лайк

Дак у них там с версии 0.10.0 с этим какие-то проблемы :slight_smile: Actions are not implemented · Issue #233 · mozilla/geckodriver · GitHub. Думаю ждать можно долго. Наверное стоит пересмотреть концепцию автотестов :slight_smile:

Слышал такое мнение, что автоматизаторы не запускают одни и те же самые тесты сначала в хроме, а потом в Firefox… Дабл клик и выбор списка - с этим браузер должен справляться без проблем. Если у сайта еще может быть как-то кастомно сделан выбор списка, то дабл клик - он везде по идеи одинаковый. Может просто проверять это в хроме, там где есть Actions? А когда появиться в Геко, то обновиться и запустить…

Хотя конечно вариант такой се, надо по контексту смотреть, как там проект реализован, может есть смысл эти выпадашки тестить на всех браузерах, которыми пользуются пользователи…

Но если честно, то я проверяю всегда только в одном браузере - Chrome, поскольку автотесты должны быть стабильными и проверить ими можно бизнес логику. Что зачем идет и что происходит. А такие вещи как выпадашки - можно и вручную пробежаться… В отдельном браузере. Все равно без ручного тестирования не обойтись :slight_smile:

дальше назад и все получится

SELENIUM_VERSION 2.53.1
FIREFOX_VERSION 45.0.1
CHROME_VERSION 54.0.X
CHROMEDRIVER_VERSION 2.24
2 лайка

в FF 47 пока что тоже все stable ))))

Варианты разные могут возникнуть. Вдруг клиент на столько щепетильный, что потребует отчета по работе в Firefox. Да и браузеры, как вам известно отрабатывают по разному. Вот и хочу узнать такие методы, которые можно будет использовать. А зная их реализацию, можно смело исправлять не стандартное поведение на запросы (такое бывает не редко). То есть, я стараюсь все свести к универсальности сейчас, чтобы потом к этому не прибегать к этому, когда понадобиться позарез.

А если работа к БД или банковской карточкой, где идет проверка данных и снятие средств с нее и тд. Это очень трудоемкий процесс для человека. Я бы уже через час потерял всю внимательность. И работа с этими элементами как раз может идти через выпадашки))

Видимо придется ждать. И как многие заметили - очень долго.
P.S. Все таки нет вариантов реализации?

До версии FF 47 (включительно) использовался firefox драйвер. С FF 48 gecko.
Почему используют FF 45. Она не требует обновления как v47.
В комментариях рассказывается об этом.

3 лайка

Очень хорошие новости)
Спасибо.

опередил ))))

Эх, когда уже допилят заливку файлов Хром,а ГекоДрайвер перестанет быть нестабильным…
Ну, а пока ничего стабильнее Малой Панды 47.0.1 ничего не придумали.

У меня geckodriver 0.16.1 + selenium webdriver 3.4.0 + Firefox 53.0.2, в вышеуказанной статье написано, что должен поддерживаться класс Actions, но у меня не поддерживается.
Так он все-таки поддерживается или нет?

P.S. попробовал запустить на chromedriver 2.29 + selenium webdriver 3.4.0 + Chrome 58.0.3029.96 - Actions не импортируется…

P.S2. Такое ощущение, что maven проект подгружает корявые джары. У меня в библиотеке селениума не оказалось класса Actions:

Пришлось вручную подгрузить джаровский файл webdriver 3.4.0 к проекту:

Это вообще нормальная ситуация???

Кстати, после этого, тест запускается и на Firefox.

все дело в том, что вы пытаетесь всунуть Actions + создали свой же класс Actions (на первом скрине), видимо, из-за этого была и проблема на скрине - Monosnap. Попробуйте убрать джарник добавленный вручную и код используйте из второго скрина, там вы свой класс переименовали на ActionsClass