使用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()
尚不存在。
答案 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
伪类。