【问题标题】:WebDriver open rich:popupPanelWebDriver打开丰富的:popupPanel
【发布时间】:2013-04-30 06:36:10
【问题描述】:

我们正在使用 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

【问题讨论】:

    标签: webdriver htmlunit showmodaldialog


    【解决方案1】:

    可能是您的 web 应用程序使用 javascript 来启动丰富的弹出式面板,并且您在禁用 javascript 的情况下运行 HtmlUnitDriver?它是disabled by default,所以你需要显式启用它。

    【讨论】:

    • Javascript 已启用。 client.getOptions().setJavaScriptEnabled(true);
    猜你喜欢
    • 2012-12-31
    • 2011-06-16
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2015-11-21
    • 2011-07-16
    • 1970-01-01
    相关资源
    最近更新 更多