我有一个用 Java 编写的 selenium UI 测试,它使用 Actions 悬停在一个元素上。
WebElement element = driver.findElement(By.cssSelector("path to element"));
Actions hover = new Actions(driver);
hover.moveToElement(element).perform();
这可以通过命令行运行它,但在 Jenkins Windows 节点上运行时会失败。我已经读过,而不是使用 Actions,而是使用 JavascriptExecutor。我一直在研究如何做到这一点并想出了
String strJavaScript = "var evObj = document.createEvent('MouseEvents');"
+ "evObj.initMouseEvent(\"mouseover\", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);"
+ "arguments[0].dispatchEvent(evObj);";
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(strJavaScript, HoverElement);
但这似乎也行不通。我错过了什么?