Selenium和:悬停css

时间:2010-06-04 10:09:48

标签: css testing selenium hover selenium-rc

使用selenium-rc和java客户端,我想测试一个菜单,当用户将鼠标移到它上面时,该菜单会打开。当鼠标离开菜单时它会关闭。这是使用:hover css完成的,没有任何javascript。

在selenium中,有许多鼠标操作方法,但它们似乎都不会触发任何css :hover样式。

谷歌表明我并不是唯一一个解决这个问题的人,但是没有解决方案。有些人评论说你必须添加一些javascript代码;但是,在selenium rc中,我认为我甚至没有一个适当的位置来提供用户贡献的额外JavaScript代码。

我的愿望是以下代码可以工作,因为div#navi_settings包含的菜单包含 - 通常是不可见的 - 元素:

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

不幸的是,方法moveHover()尚不存在。

2 个答案:

答案 0 :(得分:1)

我找不到使用Selenium界面执行此操作的方法。但是,由于我使用的是Selenium 2,我可以使用WebDriver API,按照http://groups.google.com/group/selenium-developers/msg/8210537dde07155f?pli=1

在您的情况下,如果您可以升级到Selenium 2:

,这样的事情可能会有效
WebDriver webDriver; 
...
((RenderedWebElement) webDriver.findElement(By.cssSelector("div#navi_settings"))).hover();

答案 1 :(得分:-1)

mouseOver方法将激活:hover伪类。