我正在使用 noraui 进行自动测试。
我想打开一个子下拉菜单(按钮 => 单击 => 下拉菜单 => passOver => 子下拉菜单)。这个 subdropdown 只能通过 passOver 出现,如果我们点击 dropdownmenu,什么都不会发生。
但是我的 passOver 功能不起作用
protected void passOver(PageElement element) throws TechnicalException, FailureException {
try {
String javascript = "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) getDriver()).executeScript(javascript, Context.waitUntil(ExpectedConditions.presenceOfElementLocated(Utilities.getLocator(element))));
} catch (Exception e) {
new Result.Failure<>(e.getMessage(), Messages.format(Messages.FAIL_MESSAGE_UNABLE_TO_PASS_OVER_ELEMENT, element, element.getPage().getApplication()), true,
element.getPage().getCallBack());
}
}
步骤代码
@When("I pass over on '(.*)-(.*)'")
public void passOver(String page, String toPassOver) throws TechnicalException, FailureException {
loggerStep.debug(page + " passOver: " + toPassOver);
passOver(Page.getInstance(page).getPageElementByKey('-' + toPassOver)); }
我正在寻找 passOver 的工作方式,就像鼠标悬停在下拉菜单(“Mise à jour”)上。