2

我正在用 Java/Serenity 对 Web 应用程序进行自动化测试。

应用程序中有一个带有子菜单的菜单。这是一个 javascript 菜单,可在鼠标悬停时打开子菜单。我需要通过 Serenity 打开任何级别的子菜单。我正在使用以下代码进行操作:

public void hoverElement(WebElementFacade element) {
    Actions builder = new Actions(getDriver());
    Actions hoverOverLocationSelector = builder.moveToElement(element);
    hoverOverLocationSelector.perform();
}

它在 Firefox 中运行良好,但在 Chrome 中却不行。

在 Chrome 中,我必须连续调用 hoverElement() 函数两到三次才能使其工作。这不好。

有没有人知道如何在不调用该函数两次或三次的情况下使其工作?

提前致谢。

4

1 回答 1

0

刚刚遇到这个问题,但可能会帮助其他人。这对我在菜单中选择一个项目很有用:

withAction().moveToElement(element(by_menu)).moveToElement(element(by_login)).click().build().perform();

它导航到菜单,然后导航到项目,然后单击。Build-perform按顺序执行

于 2017-08-16T10:59:21.707 回答