我有一个网页,单击一个按钮(例如 EXPAND_CONTEXT_MENU,内部实现为 href)会导致隐藏的上下文菜单在其下方展开,然后单击上下文菜单中的菜单项。
由于 Selenium 2 不允许直接访问隐藏元素,因此我首先单击 EXPAND_CONTEXT_MENU,然后单击所需的菜单项。
在尝试测试此解决方案时,InternetExplorerDriver 显示出一种奇怪的行为。第一次单击 EXPAND_CONTEXT_MENU 可以正常展开菜单,但在第二次单击(用于选择菜单项)之前,EXPAND_CONTEXT_MENU 会再次最小化。当第二次单击发生时,这会导致 ElementNotVisibleException。
FirefoxDriver 可以很好地执行此测试。我使用IE8和Firefox进行测试。
注意 - 在实际的 AUT 中,只需将鼠标悬停在 EXPAND_CONTEXT_MENU 上即可展开上下文菜单。
使用鼠标功能将鼠标悬停在相关元素上:
Locatable hoverItem = (Locatable) driver.findElement(By.xpath("//foo"));
Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseMove(hoverItem.getCoordinates());
您需要导入可定位的,默认情况下不会引入它:
import org.openqa.selenium.internal.Locatable;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)