类org.openqa.selenium.htmlunit.HtmlUnitDriver源码实例Demo

下面列出了怎么用org.openqa.selenium.htmlunit.HtmlUnitDriver的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: htmlunit   文件: HtmlTextInputTest.java
/**
 * Verifies getVisibleText().
 * @throws Exception if the test fails
 */
@Test
@Alerts("")
public void getVisibleText() throws Exception {
    final String htmlContent
        = "<html>\n"
        + "<head></head>\n"
        + "<body>\n"
        + "<form id='form1'>\n"
        + "  <input type='text' name='tester' id='tester' value='bla'>\n"
        + "</form>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(htmlContent);
    final String text = driver.findElement(By.id("tester")).getText();
    assertEquals(getExpectedAlerts()[0], text);

    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText());
    }
}
 
源代码2 项目: htmlunit   文件: SvgGroupTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGGElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <g id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgGroup.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码3 项目: htmlunit   文件: HtmlBackgroundSoundTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts(DEFAULT = "[object HTMLUnknownElement]",
        IE = "[object HTMLBGSoundElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ +  "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <bgsound id='myId'/>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver && getExpectedAlerts()[0].contains("Sound")) {
        assertTrue(HtmlBackgroundSound.class.isInstance(toHtmlElement(driver.findElement(By.id("myId")))));
    }
}
 
源代码4 项目: htmlunit   文件: Window2Test.java
/**
 * @throws Exception if an error occurs
 */
@Test
@Alerts("success")
public void onErrorModifyObject() throws Exception {
    final String html
            = "<html>\n"
            + "<script>\n"
            + "  window.onerror = function(messageOrEvent, source, lineno, colno, error) {\n"
            + "    error.property = 'success'\n"
            + "    alert(error.property);\n"
            + "  };\n"
            + "</script>\n"
            + "<script>throw {};</script>\n"
            + "</html>";

    if (getWebDriver() instanceof HtmlUnitDriver) {
        getWebWindowOf((HtmlUnitDriver) getWebDriver()).getWebClient()
                .getOptions().setThrowExceptionOnScriptError(false);
    }
    loadPageWithAlerts2(html);
}
 
源代码5 项目: htmlunit   文件: HtmlLabelTest.java
/**
 * @throws Exception if the test fails
 */
@Test
public void getLabeledElementForProgress() throws Exception {
    final String html = "<html>\n"
        + "<body>\n"
        + "  <label id='label1' for='progress1'>Item</label>\n"
        + "  <progress id='progress1'></progress>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        final HtmlLabel label = page.getHtmlElementById("label1");
        assertEquals("progress1", label.getLabeledElement().getId());
    }
}
 
源代码6 项目: htmlunit   文件: HtmlSerializerVisibleText2Test.java
private void getVisibleTextWhiteSpaceOrderedList(final String whiteSpace) throws Exception {
    final String htmlContent
        = "<html>\n"
        + "<head></head>\n"
        + "<body>\n"
        + "  <ol id='tester' " + (whiteSpace == null ? "" : ("style='white-space: " + whiteSpace + "'")) + ">\n"
        + "    <li>first item</li>\n"
        + "    <li>  A B  C\t \t  D \r\nEF\nG \n H  <br> I  </li>\n"
        + "    <li>third item</li><li>4. item</li>\n"
        + "    some text \n"
        + "    <li>last item</li>\n"
        + "  </ol>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(htmlContent);
    final String text = driver.findElement(By.id("tester")).getText();
    assertEquals(getExpectedAlerts()[0], text);

    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText());
    }
}
 
源代码7 项目: htmlunit   文件: HtmlLabelTest.java
/**
 * @throws Exception if the test fails
 */
@Test
public void getLabeledElementForNotLabelable() throws Exception {
    final String html = "<html>\n"
        + "<body>\n"
        + "  <label id='label1' for='div1'>Item</label>\n"
        + "  <div id='div1'></div>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        final HtmlLabel label = page.getHtmlElementById("label1");
        assertNull(label.getLabeledElement());
    }
}
 
源代码8 项目: SeleniumCucumber   文件: GenericHelper.java
public String takeScreenShot(String name) throws IOException {

		if (driver instanceof HtmlUnitDriver) {
			oLog.fatal("HtmlUnitDriver Cannot take the ScreenShot");
			return "";
		}

		File destDir = new File(ResourceHelper.getResourcePath("screenshots/")
				+ DateTimeHelper.getCurrentDate());
		if (!destDir.exists())
			destDir.mkdir();

		File destPath = new File(destDir.getAbsolutePath()
				+ System.getProperty("file.separator") + name + ".jpg");
		try {
			FileUtils
					.copyFile(((TakesScreenshot) driver)
							.getScreenshotAs(OutputType.FILE), destPath);
		} catch (IOException e) {
			oLog.error(e);
			throw e;
		}
		oLog.info(destPath.getAbsolutePath());
		return destPath.getAbsolutePath();
	}
 
源代码9 项目: htmlunit   文件: HTMLHtmlElementTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object HTMLHtmlElement]")
public void simpleScriptable() throws Exception {
    final String html = "<html id='myId'><head><title>foo</title><script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script></head><body onload='test()'>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final WebElement element = driver.findElement(By.id("myId"));
        assertTrue(toHtmlElement(element) instanceof HtmlHtml);
    }
}
 
源代码10 项目: htmlunit   文件: HtmlTextArea2Test.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("")
public void getVisibleTextAndVisibility() throws Exception {
    final String html
        = "<html><head></head><body>\n"
        + "<form id='form1'>\n"
        + "<textarea id='tester' style='visibility:hidden'> foo \n bar "
        + "</textarea>\n"
        + "</form></body></html>";
    final WebDriver driver = loadPage2(html);
    final WebElement textArea = driver.findElement(By.id("tester"));
    assertEquals(getExpectedAlerts()[0], textArea.getText());

    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText());
    }
}
 
源代码11 项目: htmlunit   文件: HtmlEmbedTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object HTMLEmbedElement]")
public void saveAs() throws Exception {
    final String html = "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <embed id='myId' src='helloworld.bin'/>\n"
        + "</body></html>";

    getMockWebConnection().setDefaultResponse("something");
    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlEmbed element = (HtmlEmbed) toHtmlElement(driver.findElement(By.id("myId")));
        final File file = new File(System.getProperty("user.home"), "htmlunit-embed.bin");
        element.saveAs(file);
        final long length = file.length();
        assertTrue(file.delete());
        assertTrue(length > 0);
    }
}
 
源代码12 项目: htmlunit   文件: SvgFeDiffuseLightingTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGFEDiffuseLightingElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <feDiffuseLighting id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgFeDiffuseLighting.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码13 项目: htmlunit   文件: HtmlLabelTest.java
/**
 * @throws Exception if the test fails
 */
@Test
public void getLabeledElementForButton() throws Exception {
    final String html = "<html>\n"
        + "<body>\n"
        + "  <label id='label1' for='button1'>Item</label>\n"
        + "  <button id='button1'></button>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        final HtmlLabel label = page.getHtmlElementById("label1");
        assertEquals("button1", label.getLabeledElement().getId());
    }
}
 
源代码14 项目: htmlunit   文件: SvgAltGlyphItemTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <altGlyphItem id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgElement.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码15 项目: htmlunit   文件: SvgLinearGradientTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGLinearGradientElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <linearGradient id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgLinearGradient.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码16 项目: htmlunit   文件: SvgFePointLightTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGFEPointLightElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <fePointLight id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgFePointLight.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码17 项目: htmlunit   文件: HtmlSerializerVisibleText2Test.java
private void getVisibleTextWhiteSpaceTextArea(final String whiteSpace) throws Exception {
    final String htmlContent
        = "<html>\n"
        + "<head></head>\n"
        + "<body>\n"
        + "  <textarea id='tester' " + (whiteSpace == null ? "" : ("style='white-space: " + whiteSpace + "'")) + ">"
                + "  A B  C\t \t  D \r\nEF\nG \n H  <br> I  </textarea>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(htmlContent);
    final String text = driver.findElement(By.id("tester")).getText();
    assertEquals(getExpectedAlerts()[0], text);

    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText());
    }
}
 
源代码18 项目: htmlunit   文件: SvgFeFloodTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGFEFloodElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <feFlood id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgFeFlood.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码19 项目: htmlunit   文件: HtmlLink2Test.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object HTMLLinkElement]")
public void simpleScriptable() throws Exception {
    final String html = "<html><head>\n"
        + "<link id='myId' href='file1.css'>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(HtmlLink.class.isInstance(page.getHtmlElementById("myId")));
    }
}
 
源代码20 项目: keycloak   文件: BrowserTabUtil.java
private BrowserTabUtil(WebDriver driver) {
    this.driver = driver;

    if (driver instanceof JavascriptExecutor) {
        this.jsExecutor = (JavascriptExecutor) driver;
    } else {
        throw new RuntimeException("WebDriver must be instance of JavascriptExecutor");
    }

    // HtmlUnit doesn't work very well with JS and it's recommended to use this settings.
    // HtmlUnit validates all scripts and then fails. It turned off the validation.
    if (driver instanceof HtmlUnitDriver) {
        WebClient client = ((DroneHtmlUnitDriver) driver).getWebClient();
        client.getOptions().setThrowExceptionOnScriptError(false);
        client.getOptions().setThrowExceptionOnFailingStatusCode(false);
    }

    tabs = new ArrayList<>(driver.getWindowHandles());
}
 
源代码21 项目: htmlunit   文件: HtmlLabelTest.java
/**
 * @throws Exception if the test fails
 */
@Test
public void getLabeledElementNone() throws Exception {
    final String html = "<html>\n"
        + "<body>\n"
        + "  <label id='label1'>Item</label>\n"
        + "  <input type='text' id='text1'>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        final HtmlLabel label = page.getHtmlElementById("label1");
        assertNull(label.getLabeledElement());
    }
}
 
源代码22 项目: htmlunit   文件: SvgViewTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGViewElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <view id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgView.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码23 项目: htmlunit   文件: HtmlSerializerVisibleText2Test.java
private void getVisibleTextWhiteSpaceBreak(final String whiteSpace) throws Exception {
    final String htmlContent
        = "<html>\n"
        + "<head></head>\n"
        + "<body>\n"
        + "  <br id='tester' " + (whiteSpace == null ? "" : ("style='white-space: " + whiteSpace + "'")) + ">\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(htmlContent);
    final String text = driver.findElement(By.id("tester")).getText();
    assertEquals(getExpectedAlerts()[0], text);

    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText());
    }
}
 
源代码24 项目: htmlunit   文件: SvgPolylineTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGPolylineElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <polyline id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgPolyline.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码25 项目: htmlunit   文件: SvgPathTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGPathElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <path id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgPath.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码26 项目: htmlunit   文件: HTMLOListElementTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object HTMLOListElement]")
public void simpleScriptable() throws Exception {
    final String html = "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <ol id='myId'/>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final WebElement element = driver.findElement(By.id("myId"));
        assertTrue(toHtmlElement(element) instanceof HtmlOrderedList);
    }
}
 
源代码27 项目: ats-framework   文件: HiddenHtmlPrompt.java
public HiddenHtmlPrompt( UiDriver uiDriver ) {

        super(uiDriver);

        HiddenBrowserDriver browserDriver = (HiddenBrowserDriver) uiDriver;
        HtmlUnitDriver driver = (HtmlUnitDriver) browserDriver.getInternalObject(InternalObjectsEnum.WebDriver.name());
        Field webClientField = null;
        boolean fieldAccessibleState = false;
        try {

            TargetLocator targetLocator = driver.switchTo();
            webClientField = targetLocator.getClass().getDeclaringClass().getDeclaredField("webClient");
            fieldAccessibleState = webClientField.isAccessible();
            webClientField.setAccessible(true);
            webClient = (WebClient) webClientField.get(targetLocator.defaultContent());

        } catch (Exception e) {

            throw new SeleniumOperationException("Error retrieving internal Selenium web client", e);
        } finally {

            if (webClientField != null) {
                webClientField.setAccessible(fieldAccessibleState);
            }
        }
    }
 
源代码28 项目: htmlunit   文件: HtmlSerializerVisibleText2Test.java
private void getVisibleTextWhiteSpaceInputRadio(final String whiteSpace) throws Exception {
    final String htmlContent
        = "<html>\n"
        + "<head></head>\n"
        + "<body>\n"
        + "<form id='form1'>\n"
        + "  <input type='radio' name='tester' id='tester' "
                    + (whiteSpace == null ? "" : ("style='white-space: " + whiteSpace + "'"))
                    + " value='  A B  C\t \t  D \r\nEF\nG \n H  <br> I  '>\n"
        + "</form>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(htmlContent);
    final String text = driver.findElement(By.id("tester")).getText();
    assertEquals(getExpectedAlerts()[0], text);

    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText());
    }
}
 
源代码29 项目: htmlunit   文件: SvgSwitchTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts("[object SVGSwitchElement]")
public void simpleScriptable() throws Exception {
    final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
        + "<html><head>\n"
        + "<script>\n"
        + "  function test() {\n"
        + "    alert(document.getElementById('myId'));\n"
        + "  }\n"
        + "</script>\n"
        + "</head><body onload='test()'>\n"
        + "  <svg xmlns='http://www.w3.org/2000/svg' version='1.1'>\n"
        + "    <switch id='myId'/>\n"
        + "  </svg>\n"
        + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage();
        assertTrue(SvgSwitch.class.isInstance(page.getElementById("myId")));
    }
}
 
源代码30 项目: htmlunit   文件: DomElementTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@Alerts({"2", "2"})
public void getElementsByTagName() throws Exception {
    final String html = "<html><head><script>\n"
            + "function test() {\n"
            + "  alert(document.f1.getElementsByTagName('input').length);\n"
            + "  alert(document.f1.getElementsByTagName('INPUT').length);\n"
            + "}\n"
            + "</script></head>\n"
            + "<body onload='test()'>\n"
            + "  <form name='f1'>\n"
            + "    <input>\n"
            + "    <INPUT>\n"
            + "  </form>\n"
            + "</body></html>";

    final WebDriver driver = loadPageWithAlerts2(html);
    if (driver instanceof HtmlUnitDriver) {
        final WebWindow webWindow = getWebWindowOf((HtmlUnitDriver) driver);
        final HtmlPage page = (HtmlPage) webWindow.getEnclosedPage();
        assertEquals(2, page.getForms().get(0).getElementsByTagName("input").size());
        assertEquals(2, page.getForms().get(0).getElementsByTagName("INPUT").size());
    }
}
 
 类所在包
 同包方法