WebDriver open rich:popupPanel

时间:2013-05-06 13:31:55

标签: webdriver htmlunit showmodaldialog

我们正在使用Selenium WebDriver测试应用程序。 HTMLUnitDriver是我们的选择(因为非gui测试),有时是IEDriver for Presentation目的。无论如何,我尝试单击一个按钮,这个必须打开一个富: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

1 个答案:

答案 0 :(得分:0)

可能是您的webapp使用javascript来启动丰富的弹出式面板,并且您在禁用javascript的情况下运行HtmlUnitDriver?它是disabled by default,因此您需要明确启用它。