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