3

我正在使用 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”)上。

4

0 回答 0