【发布时间】:2016-11-23 15:41:37
【问题描述】:
我正在使用 Selenium 3.0.1 使用 TestNG 运行自动化测试。 在一项测试中,我尝试将鼠标悬停在操作菜单上,然后单击该菜单中的选项:
Actions builder = new Actions(getWebDriver());
builder.moveToElement(actionButton).build().perform();
但是测试不稳定。我可以看到菜单打开但立即关闭,因此测试失败,因为它不再找到该选项。 我收到此错误:
java.lang.IllegalArgumentException: Must provide a location for a move action.
at org.openqa.selenium.interactions.MoveMouseAction.<init>(MoveMouseAction.java:30)
at org.openqa.selenium.interactions.Actions.moveToElement(Actions.java:251)
如何检查菜单是否打开? perform() 方法返回 void。 我注意到如果我两次调用 moveToElement,那么测试会更加稳定。这样做有什么优雅的选择吗?
Actions builder = new Actions(getWebDriver());
builder.moveToElement(actionButton).build().perform();
builder.moveToElement(actionButton).build().perform();
我发现了这个问题: https://sqa.stackexchange.com/questions/3467/issue-with-losing-focus-of-hover-command-when-the-mouse-is-outside-of-the-acti 这最好地解释了我的问题。不幸的是,仍然没有解决方案。
【问题讨论】:
标签: java selenium selenium-webdriver