org.openqa.selenium.htmlunit
Class HtmlUnitDriver

java.lang.Object
  extended by org.openqa.selenium.htmlunit.HtmlUnitDriver
All Implemented Interfaces:
HasCapabilities, HasInputDevices, FindsByCssSelector, FindsById, FindsByLinkText, FindsByName, FindsByTagName, FindsByXPath, JavascriptExecutor, SearchContext, WebDriver

public class HtmlUnitDriver
extends java.lang.Object
implements WebDriver, SearchContext, JavascriptExecutor, FindsById, FindsByLinkText, FindsByXPath, FindsByName, FindsByCssSelector, FindsByTagName, HasCapabilities, HasInputDevices


Nested Class Summary
protected static interface HtmlUnitDriver.JavaScriptResultsCollection
           
 
Nested classes/interfaces inherited from interface org.openqa.selenium.WebDriver
WebDriver.ImeHandler, WebDriver.Navigation, WebDriver.Options, WebDriver.TargetLocator, WebDriver.Timeouts
 
Field Summary
static java.lang.String INVALIDSELECTIONERROR
           
static java.lang.String INVALIDXPATHERROR
           
 
Constructor Summary
HtmlUnitDriver()
           
HtmlUnitDriver(boolean enableJavascript)
           
HtmlUnitDriver(com.gargoylesoftware.htmlunit.BrowserVersion version)
           
HtmlUnitDriver(Capabilities capabilities)
          Note: There are two configuration modes for the HtmlUnitDriver using this constructor.
 
Method Summary
 void close()
           
 java.lang.Object executeAsyncScript(java.lang.String script, java.lang.Object... args)
           
 java.lang.Object executeScript(java.lang.String script, java.lang.Object... args)
           
 WebElement findElement(By by)
           
 WebElement findElementByCssSelector(java.lang.String using)
           
 WebElement findElementById(java.lang.String id)
           
 WebElement findElementByLinkText(java.lang.String selector)
           
 WebElement findElementByName(java.lang.String name)
           
 WebElement findElementByPartialLinkText(java.lang.String using)
           
 WebElement findElementByTagName(java.lang.String name)
           
 WebElement findElementByXPath(java.lang.String selector)
           
 java.util.List<WebElement> findElements(By by)
           
 java.util.List<WebElement> findElementsByCssSelector(java.lang.String using)
           
 java.util.List<WebElement> findElementsById(java.lang.String id)
           
 java.util.List<WebElement> findElementsByLinkText(java.lang.String selector)
           
 java.util.List<WebElement> findElementsByName(java.lang.String using)
           
 java.util.List<WebElement> findElementsByPartialLinkText(java.lang.String using)
           
 java.util.List<WebElement> findElementsByTagName(java.lang.String using)
           
 java.util.List<WebElement> findElementsByXPath(java.lang.String selector)
           
 void get(java.lang.String url)
           
protected  void get(java.net.URL fullUrl)
          Allows HtmlUnit's about:blank to be loaded in the constructor, and may be useful for other tests?
 Capabilities getCapabilities()
           
 java.lang.String getCurrentUrl()
           
protected  com.gargoylesoftware.htmlunit.WebWindow getCurrentWindow()
           
 Keyboard getKeyboard()
           
 Mouse getMouse()
           
 java.lang.String getPageSource()
           
 java.lang.String getTitle()
           
protected  com.gargoylesoftware.htmlunit.WebClient getWebClient()
           
 java.lang.String getWindowHandle()
           
 java.util.Set<java.lang.String> getWindowHandles()
           
protected
<X> X
implicitlyWaitFor(java.util.concurrent.Callable<X> condition)
           
 boolean isJavascriptEnabled()
           
protected  com.gargoylesoftware.htmlunit.Page lastPage()
           
 WebDriver.Options manage()
           
protected  com.gargoylesoftware.htmlunit.WebClient modifyWebClient(com.gargoylesoftware.htmlunit.WebClient client)
          Child classes can override this method to customise the webclient that the HtmlUnit driver uses.
 WebDriver.Navigation navigate()
           
protected  WebElement newHtmlUnitWebElement(com.gargoylesoftware.htmlunit.html.HtmlElement element)
           
protected  com.gargoylesoftware.htmlunit.WebClient newWebClient(com.gargoylesoftware.htmlunit.BrowserVersion version)
          Create the underlying webclient, but don't set any fields on it.
protected  void pickWindow()
           
 void quit()
           
 void setAutoProxy(java.lang.String autoProxyUrl)
           
 void setJavascriptEnabled(boolean enableJavascript)
           
 void setProxy(java.lang.String host, int port)
           
 WebDriver.TargetLocator switchTo()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVALIDXPATHERROR

public static final java.lang.String INVALIDXPATHERROR
See Also:
Constant Field Values

INVALIDSELECTIONERROR

public static final java.lang.String INVALIDSELECTIONERROR
See Also:
Constant Field Values
Constructor Detail

HtmlUnitDriver

public HtmlUnitDriver(com.gargoylesoftware.htmlunit.BrowserVersion version)

HtmlUnitDriver

public HtmlUnitDriver()

HtmlUnitDriver

public HtmlUnitDriver(boolean enableJavascript)

HtmlUnitDriver

public HtmlUnitDriver(Capabilities capabilities)
Note: There are two configuration modes for the HtmlUnitDriver using this constructor. The first is where the browserName is "firefox", "internet explorer" and browserVersion denotes the desired version. The second one is where the browserName is "htmlunit" and the browserVersion denotes the required browser AND its version. In this mode the browserVersion could either be "firefox" for Firefox or "internet explorer-7" for IE 7. The Remote WebDriver uses the second mode - the first mode is deprecated and should not be used.

Method Detail

newWebClient

protected com.gargoylesoftware.htmlunit.WebClient newWebClient(com.gargoylesoftware.htmlunit.BrowserVersion version)
Create the underlying webclient, but don't set any fields on it.

Parameters:
version - Which browser to emulate
Returns:
a new instance of WebClient.

modifyWebClient

protected com.gargoylesoftware.htmlunit.WebClient modifyWebClient(com.gargoylesoftware.htmlunit.WebClient client)
Child classes can override this method to customise the webclient that the HtmlUnit driver uses.

Parameters:
client - The client to modify
Returns:
The modified client

setProxy

public void setProxy(java.lang.String host,
                     int port)

setAutoProxy

public void setAutoProxy(java.lang.String autoProxyUrl)

getCapabilities

public Capabilities getCapabilities()
Specified by:
getCapabilities in interface HasCapabilities

get

public void get(java.lang.String url)
Specified by:
get in interface WebDriver

get

protected void get(java.net.URL fullUrl)
Allows HtmlUnit's about:blank to be loaded in the constructor, and may be useful for other tests?

Parameters:
fullUrl - The URL to visit

pickWindow

protected void pickWindow()

getCurrentUrl

public java.lang.String getCurrentUrl()
Specified by:
getCurrentUrl in interface WebDriver

getTitle

public java.lang.String getTitle()
Specified by:
getTitle in interface WebDriver

findElement

public WebElement findElement(By by)
Specified by:
findElement in interface SearchContext
Specified by:
findElement in interface WebDriver

findElements

public java.util.List<WebElement> findElements(By by)
Specified by:
findElements in interface SearchContext
Specified by:
findElements in interface WebDriver

getPageSource

public java.lang.String getPageSource()
Specified by:
getPageSource in interface WebDriver

close

public void close()
Specified by:
close in interface WebDriver

quit

public void quit()
Specified by:
quit in interface WebDriver

getWindowHandles

public java.util.Set<java.lang.String> getWindowHandles()
Specified by:
getWindowHandles in interface WebDriver

getWindowHandle

public java.lang.String getWindowHandle()
Specified by:
getWindowHandle in interface WebDriver

executeScript

public java.lang.Object executeScript(java.lang.String script,
                                      java.lang.Object... args)
Specified by:
executeScript in interface JavascriptExecutor

executeAsyncScript

public java.lang.Object executeAsyncScript(java.lang.String script,
                                           java.lang.Object... args)
Specified by:
executeAsyncScript in interface JavascriptExecutor

getKeyboard

public Keyboard getKeyboard()
Specified by:
getKeyboard in interface HasInputDevices

getMouse

public Mouse getMouse()
Specified by:
getMouse in interface HasInputDevices

switchTo

public WebDriver.TargetLocator switchTo()
Specified by:
switchTo in interface WebDriver

navigate

public WebDriver.Navigation navigate()
Specified by:
navigate in interface WebDriver

lastPage

protected com.gargoylesoftware.htmlunit.Page lastPage()

findElementByLinkText

public WebElement findElementByLinkText(java.lang.String selector)
Specified by:
findElementByLinkText in interface FindsByLinkText

newHtmlUnitWebElement

protected WebElement newHtmlUnitWebElement(com.gargoylesoftware.htmlunit.html.HtmlElement element)

findElementsByLinkText

public java.util.List<WebElement> findElementsByLinkText(java.lang.String selector)
Specified by:
findElementsByLinkText in interface FindsByLinkText

findElementById

public WebElement findElementById(java.lang.String id)
Specified by:
findElementById in interface FindsById

findElementsById

public java.util.List<WebElement> findElementsById(java.lang.String id)
Specified by:
findElementsById in interface FindsById

findElementByCssSelector

public WebElement findElementByCssSelector(java.lang.String using)
Specified by:
findElementByCssSelector in interface FindsByCssSelector

findElementsByCssSelector

public java.util.List<WebElement> findElementsByCssSelector(java.lang.String using)
Specified by:
findElementsByCssSelector in interface FindsByCssSelector

findElementByName

public WebElement findElementByName(java.lang.String name)
Specified by:
findElementByName in interface FindsByName

findElementsByName

public java.util.List<WebElement> findElementsByName(java.lang.String using)
Specified by:
findElementsByName in interface FindsByName

findElementByTagName

public WebElement findElementByTagName(java.lang.String name)
Specified by:
findElementByTagName in interface FindsByTagName

findElementsByTagName

public java.util.List<WebElement> findElementsByTagName(java.lang.String using)
Specified by:
findElementsByTagName in interface FindsByTagName

findElementByXPath

public WebElement findElementByXPath(java.lang.String selector)
Specified by:
findElementByXPath in interface FindsByXPath

findElementsByXPath

public java.util.List<WebElement> findElementsByXPath(java.lang.String selector)
Specified by:
findElementsByXPath in interface FindsByXPath

isJavascriptEnabled

public boolean isJavascriptEnabled()

setJavascriptEnabled

public void setJavascriptEnabled(boolean enableJavascript)

implicitlyWaitFor

protected <X> X implicitlyWaitFor(java.util.concurrent.Callable<X> condition)

getWebClient

protected com.gargoylesoftware.htmlunit.WebClient getWebClient()

getCurrentWindow

protected com.gargoylesoftware.htmlunit.WebWindow getCurrentWindow()

manage

public WebDriver.Options manage()
Specified by:
manage in interface WebDriver

findElementByPartialLinkText

public WebElement findElementByPartialLinkText(java.lang.String using)
Specified by:
findElementByPartialLinkText in interface FindsByLinkText

findElementsByPartialLinkText

public java.util.List<WebElement> findElementsByPartialLinkText(java.lang.String using)
Specified by:
findElementsByPartialLinkText in interface FindsByLinkText


Copyright © 2011. All Rights Reserved.