0

我们正在使用 Selenium WebDriver 测试一个应用程序。HTMLUnitDriver 是我们的选择(因为非 gui 测试),有时 IEDriver 用于演示目的。无论如何,我尝试单击一个按钮,这个按钮必须打开一个 rich:popuPanel(modal=true) 并单击该面板上的一个链接。使用 IEDriver 没问题,但使用 HTMLUnitDriver 时 popupPanel 无法打开。我尝试以多种方式执行这些点击:

    JavascriptExecutor jsdriver = (JavascriptExecutor) driver;
    jsdriver.executeScript("$('input[id$=freigabeCmd_id]').focus();");
    //below are the other tries
    // jsdriver.executeScript("$('input[id$=freigabeCmd_id]').click();");
    // jsdriver.executeScript("window.document.getElementById('editorViewForm_id:freigabeCmd_id').click()");
    // jsdriver.executeScript("arguments[0].click()", freigabeButton);
    // jsdriver.executeScript("arguments[0].fireEvent('onclick');", freigabeButton);

我进一步尝试了“正常方式”:

        freigabeButton.click();
    //below are other ways i found here on stackoverflow
    // freigabeButton.sendKeys(Keys.ENTER);
    // new Actions(driver).moveToElement(freigabeButton).clickAndHold().release().build().perform();

但没有什么让我让popupPanel“可见”。有人知道为什么吗?!我现在真的被困住了。如果您需要更多信息,请告诉我。

使用:HTMLUnit 版本 2.12 和最新的 SeleniumVersion

4

1 回答 1

0

可能是您的 web 应用程序使用 javascript 来启动丰富的弹出面板,并且您正在运行 HtmlUnitDriver 并禁用了 javascript?默认情况下它是禁用的,因此您需要显式启用它。

于 2013-05-07T11:26:00.547 回答