t.me/atinfo_chat Telegram группа по автоматизации тестирования

Hover action in Google Chrome or Selenium moveToElement()

Теги: #<Tag:0x00007f748950e448> #<Tag:0x00007f748950e358> #<Tag:0x00007f748950e240> #<Tag:0x00007f748950e150>

Помогите пожалуйста с проблемой. Уже месяц бьюсь с этим ховером в хроме. Использую Selenide 4.5, хочу сделать hover action над элементом SelenideElement.hover(), в фаерфоксе все просто изумительно работает, а в хроме нет. Менял уже на нативный селениумовский экшн moveToElement(). Безрезультатно. Оно и понятно, так как Селенид под капотом работает именно так. Кто знает, как побороть данную проблему?

Что значит а в хроме нет? :slight_smile:
Мануально в хроме у вас работает ховер?

Конечно) Мышка наводиться, все ок, решением данной проблемы стала установка хрома версии 43.0, но это не решение, должно ведь и так работать

Так что, никто не подскажет?

Chrome 59
chromedriver 2.30
selenium 3.4.3
Работает)

А Chromedriver у вас свежий?
Вообще, можно симулировать через jQuery (благо он везде сейчас есть) выполнив следующий JS-код
$('.class').mouseenter();

У нас hover в автотестах вообще ненадёжно работает. Особенно если несколько браузеров параллельно бегают: они ведь забирают фокус друг у друга.
Решаем проблему так, что hover вообще не используем, а дёргаем соответствующий код через executeJavascript.

1 Симпатия

Ну вот и я так подумал, что единственное решение это дёргать JS, тесты параллельно то ранаются, но проблем не должно быть, так как инстанс драйвера для каждого потока свой.

Chrome 59
Selenide 4.5.1
Bonigarcia WebDriverManager 1.6.2

Не работает(