我对Selenium及其功能相对陌生。到目前为止,我发现它只是用于web应用程序自动回归测试的工具。对于我正在构建的这个回归测试套件,我遇到了一个问题。在web应用程序中,我有一个页面显示了一个Jquery数据表,其中有一些行。每一行都绑定了一个上下文菜单。这个弹出窗口显示为一个DIV,浮动在最上面的Z顺序上,绝对定位都由Jquery控制。
我在硒方面试图做的是实际使用这个菜单,这样我就可以通过适当的回归测试来扭曲它。我在使用Actions类调用上下文菜单方面取得了一些成功。我不能做的是让鼠标移动到菜单项可以点击它们。我一直在尝试使用MoveByOffset方法,但我似乎没有任何运气让它点击菜单中的任何内容。我也没有运气弄清楚鼠标目前在页面上的位置,因此无法证明是否真的发生了什么。
如有任何帮助或建议,我们将不胜感激。
提前感谢大家。
这是我目前用来驱动这个上下文菜单的代码。MoveByOffset中的值实际上是10&-10.尝试点击第一个菜单项。
public void ClickAction_myPOTSIcontextmenu(IWebElement Row)
{
Actions builder = new Actions(this._driver);
IAction action = builder.MoveToElement(Row).ContextClick().MoveByOffset(-10,-10).Click().Build();
action.Perform();
}
希望这能有所帮助,
WebElement element = driver.findElement(By.cssSelector("selector_for_element"));
Locatable hoverItem = (Locatable) element;
Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.click(hoverItem.getCoordinates());