Java Code Examples for org.openqa.selenium.htmlunit.HtmlUnitDriver

本文提供了多个使用HtmlUnitDriver的示例代码,展示了如何利用该驱动进行网页自动化操作,包括加载页面、填写表单、点击按钮等常见任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


http://www.programcreek.com/java-api-examples/index.php?api=org.openqa.selenium.htmlunit.HtmlUnitDriver

Java Code Examples for org.openqa.selenium.htmlunit.HtmlUnitDriver

The following are top voted examples for showing how to use org.openqa.selenium.htmlunit.HtmlUnitDriver. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to product more good examples. 

Example 1
Project: webdrivermanager   File: EdgeDriverManager.java View source code Vote up 8 votes
@Override
protected List<URL> getDrivers(String version) throws Exception {
	String edgeDriverUrl = WdmConfig.getString("wdm.edgeDriverUrl");
	log.debug("Reading {} to find out the latest version of Edge driver",
			edgeDriverUrl);

	// Switch off HtmlUnit logging
	LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log",
			"org.apache.commons.logging.impl.NoOpLog");
	java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit")
			.setLevel(Level.OFF);
	java.util.logging.Logger.getLogger("org.apache.commons.httpclient")
			.setLevel(Level.OFF);

	// Using HtmlUnitDriver to read MSI package URL
	HtmlUnitDriver driver = new HtmlUnitDriver();
	driver.manage()
			.timeouts()
			.implicitlyWait(WdmConfig.getInt("wdm.timeout"),
					TimeUnit.SECONDS);
	driver.get(edgeDriverUrl);
	driver.findElement(By.linkText("Download")).click();
	WebElement clickHere = driver.findElement(By.linkText("Click here"));
	String downloadLink = clickHere.getAttribute("href");
	List<URL> urlList = new ArrayList<>();
	urlList.add(new URL(downloadLink));
	return urlList;
}
 
Example 2
Project: rewrite   File: ActionUrlAfterPostbackTest.java View source code Vote up 6 votes
@Test
public void formUrlShouldBeSameAsRenderedView() throws Exception
{

   HtmlUnitDriver driver = new HtmlUnitDriver();

   // Load page1 and click on the button which will render page2 (without faces-redirect=true)
   driver.get(baseUrl + "page1.jsf");
   driver.findElementById("form1:goto-page2").click();

   // The form URL on page2 should NOT point to page1
   String actionUrl = driver.findElementById("form2").getAttribute("action");
   assertThat(actionUrl, Matchers.containsString("page2"));

   // Click the button which creates a FacesMessage. Due to #166 this fails with a ViewExpiredException
   driver.findElementById("form2:create-message").click();
   assertThat(driver.getPageSource(), Matchers.containsString("Action method got executed"));

}
 
Example 3
Project: org.ops4j.pax.shiro   File: FacesBundleTest.java View source code Vote up 6 votes
@Test
public void shouldRememberMeOnClientRestart() throws Exception {

    webDriver.get(getBaseUri() + "login.jsf");
    webDriver.findElement(By.name("login:username")).sendKeys("root");
    webDriver.findElement(By.name("login:password")).sendKeys("secret");
    webDriver.findElement(By.name("login:rememberMe")).click();
    webDriver.findElement(By.name("login:submit")).click();

    Cookie cookie = webDriver.manage().getCookieNamed("rememberMe");
    webDriver.close();
    
    webDriver = new HtmlUnitDriver();
    webDriver.get(getBaseUri());
    webDriver.manage().addCookie(cookie);

    webDriver.get(getBaseUri());
    webDriver.findElement(By.partialLinkText("Log out"));

    webDriver.findElement(By.partialLinkText("account")).click();

    // login page should be shown again - user remembered but not authenticated
    webDriver.findElement(By.name("login:username"));
}
 
Example 4
Project: org.ops4j.pax.shiro   File: FacesBundleTest.java View source code Vote up 6 votes
@Test
@Ignore("missing JSF support in Pax Web")
public void shouldNotRememberMeWithoutCookie() throws Exception {

    webDriver.get(getBaseUri() + "login.jsf");
    webDriver.findElement(By.name("login:username")).sendKeys("root");
    webDriver.findElement(By.name("login:password")).sendKeys("secret");
    webDriver.findElement(By.name("login:rememberMe")).click();
    webDriver.findElement(By.name("login:submit")).click();

    Cookie cookie = webDriver.manage().getCookieNamed("rememberMe");
    assertThat(cookie, is(notNullValue()));
    webDriver.close();
    
    webDriver = new HtmlUnitDriver();
    webDriver.get(getBaseUri());

    // fails since tags get rendered verbatim, so we do see the
    // content that should be hidden
    thrown.expect(NoSuchElementException.class);
    webDriver.findElement(By.partialLinkText("Log out"));
}
 
Example 5
Project: portalsammler   File: DocumentSource.java View source code Vote up 6 votes
protected final WebDriver createDriver(final String url) {
    final HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.INTERNET_EXPLORER_10) {
        {
            this.getWebClient().setRefreshHandler(new AllOrNothingRefreshHandler());
        }
    };


    driver.setJavascriptEnabled(true);
    driver.manage().timeouts().implicitlyWait(WAIT_TIME, TimeUnit.SECONDS);
    driver.get(url);
    return driver;
}
 
Example 6
Project: spring-social-alfresco   File: ConnectionTest.java View source code Vote up 6 votes
private static void GetAPI(String username, String password)
    throws IOException
{
    HtmlUnitDriver driver = new HtmlUnitDriver();
    driver.get(authUrlObject.toString());

    List<WebElement> webElements = driver.findElementsByTagName("form");

    WebElement usernameElement = driver.findElementById("username");
    usernameElement.sendKeys(username);
    WebElement passwordElement = driver.findElementById("password");
    passwordElement.sendKeys(password);
    webElements.get(0).submit();

    CodeUrl codeUrl = new CodeUrl(driver.getCurrentUrl());

    accessGrant = connectionFactory.getOAuthOperations().exchangeForAccess(codeUrl.getQueryMap().get(CodeUrl.CODE), REDIRECT_URI, null);

    connection = connectionFactory.createConnection(accessGrant);
    alfresco = connection.getApi();
}
 
Example 7
Project: tpop-examples   File: S1Test.java View source code Vote up 6 votes
@Before
public void setup() {
    driver = new HtmlUnitDriver(BrowserVersion.CHROME);
    driver.setJavascriptEnabled(true);

    WaitExecutor waitExecutor = new SeleniumWaitExecutor(driver, Duration.ofSeconds(5));

    PageObjectFactory pageObjectFactory = new PageObjectFactory(driver, waitExecutor);
    page = pageObjectFactory.newPageObject(S1Page.class);

    driver.get("http://localhost:8085/view/s1.html");
}
 
Example 8
Project: org.ops4j.pax.shiro   File: Jetty9FacesBundleTest.java View source code Vote up 6 votes
@Test
public void shouldRememberMeOnClientRestart() throws Exception {

    webDriver.get(getBaseUri() + "login.jsf");
    webDriver.findElement(By.name("login:username")).sendKeys("root");
    webDriver.findElement(By.name("login:password")).sendKeys("secret");
    webDriver.findElement(By.name("login:rememberMe")).click();
    webDriver.findElement(By.name("login:submit")).click();

    Cookie cookie = webDriver.manage().getCookieNamed("rememberMe");
    webDriver.close();

    webDriver = new HtmlUnitDriver();
    webDriver.get(getBaseUri());
    webDriver.manage().addCookie(cookie);

    webDriver.get(getBaseUri());
    webDriver.findElement(By.partialLinkText("Log out"));

    webDriver.findElement(By.partialLinkText("account")).click();

    // login page should be shown again - user remembered but not authenticated
    webDriver.findElement(By.name("login:username"));
}
 
Example 9
Project: org.ops4j.pax.shiro   File: Jetty9FacesBundleTest.java View source code Vote up 6 votes
@Test
public void shouldNotRememberMeWithoutCookie() throws Exception {

    webDriver.get(getBaseUri() + "login.jsf");
    webDriver.findElement(By.name("login:username")).sendKeys("root");
    webDriver.findElement(By.name("login:password")).sendKeys("secret");
    webDriver.findElement(By.name("login:rememberMe")).click();
    webDriver.findElement(By.name("login:submit")).click();

    Cookie cookie = webDriver.manage().getCookieNamed("rememberMe");
    assertThat(cookie, is(notNullValue()));
    webDriver.close();

    webDriver = new HtmlUnitDriver();
    webDriver.get(getBaseUri());

    thrown.expect(NoSuchElementException.class);
    webDriver.findElement(By.partialLinkText("Log out"));
}
 
Example 10
Project: seauto   File: AbstractConfigurableDriverProvider.java View source code Vote up 6 votes
/**
 * Default implementation of getting a local HTMLUnit Driver
 * 
 * @return
 */
protected WebDriver getHtmlUnitWebDriver()
{
  // Set to firefox 24 to emulate a friendly javascript engine
  HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_24);
  driver.setJavascriptEnabled(true);
  return driver;
}
 
Example 11
Project: redsniff   File: WebDriverFactory.java View source code Vote up 6 votes
@Override
public WebDriver createWebDriver(URL url, String driverClassName, Capabilities capabilities) {
    String driverMode = capabilities.getBrowserName();
    WebDriver driver;
    if ((driverClassName != null) && (!driverClassName.isEmpty())) {
        try {
            Class<?> driverClass = Class.forName(driverClassName);
            driver = (WebDriver) driverClass.newInstance();
        } catch (Exception e) {
            throw new AssertionError("Unable to load driver: " + driverClassName + " due to " + e, e);
        }
    } else if (driverMode.equals(BrowserType.IE)) {
        driver = new InternetExplorerDriver(); // flaky
    } else if (driverMode.equals(BrowserType.FIREFOX)) {
        driver=new FirefoxDriver();
    } else if (driverMode.equals(BrowserType.CHROME)) {
        driver=new ChromeDriver();
    } else if (driverMode.equals(BrowserType.HTMLUNIT)) {
        HtmlUnitDriver htmlUnitdriver = new NonLoggingHtmlUnitDriver(BrowserVersion.FIREFOX_17);
        htmlUnitdriver.setJavascriptEnabled(true);
        driver=htmlUnitdriver;
    } else {
        throw new AssertionError("driverMode: " + driverMode + " not recognised");
    }
    return driver;
}
 
Example 12
Project: jasmine-maven-plugin   File: SpecRunnerExecutorTest.java View source code Vote up 6 votes
@Before
public void stubResourceStreams() throws IOException {
	spy(FileUtils.class);

	when(this.ioUtilsWrapper.toString(isA(String.class))).thenReturn(BUILD_REPORT_JS_CONTENTS,JUNIT_RESULTS);
	driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_24);
	driver.setJavascriptEnabled(true);
}
 
Example 13
Project: OpenESPI-Common-java   File: WebDriverSingleton.java View source code Vote up 6 votes
public static HtmlUnitDriver htmlUnit() {
	if (HTML_UNIT == null) {
		HTML_UNIT = new HtmlUnitDriver(BrowserVersion.FIREFOX_17);
		HTML_UNIT.setJavascriptEnabled(true);
	}
	return HTML_UNIT;
}
 
Example 14
Project: Admin   File: BaseClass.java View source code Vote up 5 votes
public void startSession()
{


	if (getProperty("browser").equalsIgnoreCase(firefox))
	{
		//System.setProperty(webdriver.firefox.profile, profileName);
		driver= new FirefoxDriver();
	}

	else if (getProperty("browser").equals(chrome))
	{
			
			System.setProperty("webdriver.chrome.driver",user_dir + "\\src\\ExternalJars\\chromedriver_win_23.0.1240.0\\chromedriver.exe" );
			driver =new ChromeDriver();
			logger.info("Chrome Browser called");
			
	}
	
	else if (getProperty("browser").equals(ie))
	{
			
		System.setProperty("webdriver.ie.driver",user_dir + "\\src\\ExternalJars\\IEDriverServer_x64_2.25.3\\IEDriverServer.exe" );
		logger.info("Starting Internet Explorer");
		DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();  
		
		ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
		driver = new InternetExplorerDriver(ieCapabilities);
		logger.info("Internet Browser called");
	}
	else if (getProperty("browser").equals(html))
	{
		logger.info("Starting HTML UNIT Driver");
		driver= new HtmlUnitDriver();
		logger.info("Started HTML UNIT Driver");
	}
	
	
	driver.manage().window().maximize();
	driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
	logger.info("Opening the Base URL");
	driver.get(getProperty("baseurl_qa"));
	
	
	logger.info("Clicking on the Sign In Link");
	driver.findElement(By.cssSelector(getProperty("sign_in_link"))).click();
	
	logger.info("Logging In with Username and Password");
	driver.findElement(By.name(getProperty("username"))).sendKeys(getProperty("uname"));
	driver.findElement(By.name(getProperty("password"))).sendKeys(getProperty("pwd"));
	
	logger.info("Clicking on Submit Button");
	driver.findElement(By.xpath(getProperty("submit_button"))).click();
	
	logger.info("Clicking on the Control Panel");
	driver.findElement(By.linkText("Control Panel")).click();
	
	logger.info("Clicking on UMP ADMIN Link");
	driver.findElement(By.linkText("UMP Admin")).click();
	logger.info("Opened the UMP Admin site");
	
	
	
	
	

}
 
Example 15
Project: nocket   File: WebDriverFactory.java View source code Vote up 5 votes
/**
 * Factory method to return a WebDriver instance given the browser to hit.
 *
 * @param browser
 *            String representing the local browser to hit
 * @param username
 *            username for BASIC authentication on the page to test
 * @param password
 *            password for BASIC authentication on the page to test
 * @param start64bitVersion
 *            if available start a 64bit version of the browser
 *
 * @return WebDriver instance
 */
public static WebDriver getInstance(final String browser, final String username, final String password, final boolean start64bitVersion) {

	WebDriver webDriver = null;
	downloadDir.mkdirs();

	if (CHROME.equals(browser)) {
		setChromeDriver();

		webDriver = new ChromeDriver();
	}
	else if (FIREFOX.equals(browser)) {
		FirefoxProfile ffProfile = getFirefoxProfile(username, password);

		webDriver = new FirefoxDriver(ffProfile);
	}
	else if (INTERNET_EXPLORER.equals(browser)) {
		setIEDriver(start64bitVersion);

		webDriver = new InternetExplorerDriver();

	}
	else if (PHANTOM_JS.equals(browser)) {
		setPhantomJSDriver();

		DesiredCapabilities caps = new DesiredCapabilities();
		caps.setCapability("takesScreenshot", false);

		webDriver = new PhantomJSDriver(caps);
		webDriver.manage().window().setSize(new Dimension(800, 600));
	}
	else {
		if (username != null && password != null) {
			webDriver = AuthenticatedHtmlUnitDriver.create(BrowserVersion.INTERNET_EXPLORER_9, username, password);
		}
		else {
			HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.INTERNET_EXPLORER_9);
			htmlUnitDriver.setJavascriptEnabled(true);
			webDriver = htmlUnitDriver;
		}
	}

	// Timeouts definieren, damit man nicht zu lange warten muss
	webDriver.manage().timeouts().pageLoadTimeout(DEFAULT_WAIT_TIME, TimeUnit.SECONDS);
	webDriver.manage().timeouts().setScriptTimeout(DEFAULT_WAIT_TIME, TimeUnit.SECONDS);
	webDriver.manage().timeouts().implicitlyWait(DEFAULT_WAIT_TIME, TimeUnit.SECONDS);

	return webDriver;
}
 
Example 16
Project: substeps-webdriver   File: DefaultWebDriverFactory.java View source code Vote up 5 votes
public WebDriver createWebDriver() {

        final WebDriver webDriver;

        switch (configuration.driverType()) {
            case FIREFOX: {
                final DesiredCapabilities firefoxCapabilities = DesiredCapabilities.firefox();
                setNetworkCapabilities(firefoxCapabilities);
                webDriver = new FirefoxDriver(firefoxCapabilities);
                break;

            }
            case HTMLUNIT: {
                final HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
                htmlUnitDriver.setJavascriptEnabled(!configuration.isJavascriptDisabledWithHTMLUnit());

                // Run via a proxy - firstly try deprecated HTML unit only properties
                final String htmlunitProxyHost = configuration.getHtmlUnitProxyHost();
                if (StringUtils.isNotEmpty(htmlunitProxyHost)) {
                    final int htmlunitProxyPort = configuration.getHtmlUnitProxyPort();
                    htmlUnitDriver.setProxy(htmlunitProxyHost, htmlunitProxyPort);
                }
                // Run via a proxy - secondly new network proxy settings
                final String proxyHost = configuration.getNetworkProxyHost();
                if (StringUtils.isNotEmpty(proxyHost)) {
                    final int proxyPort = configuration.getNetworkProxyPort();
                    htmlUnitDriver.setProxy(proxyHost, proxyPort);
                }

                setDriverLocale(htmlUnitDriver);

                webDriver = htmlUnitDriver;
                break;

            }
            case CHROME: {

                final DesiredCapabilities chromeCapabilities = DesiredCapabilities.chrome();
                setNetworkCapabilities(chromeCapabilities);
                webDriver = new ChromeDriver(chromeCapabilities);
                break;

            }
            case IE: {

                // apparently this is required to get around some IE security
                // restriction.
                final DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
                ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

                LOG.warn("Using IE Webdriver with IGNORING SECURITY DOMAIN");

                setNetworkCapabilities(ieCapabilities);
                webDriver = new InternetExplorerDriver(ieCapabilities);
                break;
            }
            default: {
                throw new IllegalArgumentException("unknown driver type " + configuration.driverType());
            }
        }

        return webDriver;

    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值