Селен а: hover css - PullRequest
       16

Селен а: hover css

11 голосов
/ 04 июня 2010

Используя selenium-rc и java-клиент, я хочу протестировать меню, которое открывается, когда пользователь наводит на него курсор мыши. Он закрывается, когда мышь покидает меню. Это делается с использованием :hover css без JavaScript.

В селене есть много методов для действий мыши, но ни один из них, похоже, не запускает какой-либо стиль css :hover.

Google показывает, что я не одинок в этой проблеме, но не было решения. Некоторые люди комментируют, что вам пришлось добавить некоторый код JavaScript; однако, в selenium rc я не думаю, что у меня даже есть подходящее место для добавленного пользователем дополнительного кода javascript.

Мне бы хотелось, чтобы следующий код работал, учитывая, что div # navi_settings содержал меню, которое содержит - обычно невидимый - элемент:

selenium.mouseHover("css=div#navi_settings");
assertTrue(selenium.isVisible("//a[contains(text(), 'Text on link')]"));

К сожалению, метод moveHover() еще не существует.

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Я не смог найти способ сделать это с помощью интерфейса Selenium. Тем не менее, так как я использую Selenium 2, я могу использовать API WebDriver согласно http://groups.google.com/group/selenium-developers/msg/8210537dde07155f?pli=1

В вашем случае что-то подобное может сработать, если вы сможете перейти на Selenium 2:

WebDriver webDriver; 
...
((RenderedWebElement) webDriver.findElement(By.cssSelector("div#navi_settings"))).hover();
0 голосов
/ 30 июля 2010

Метод mouseOver активирует псевдокласс :hover.

...