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