|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.openqa.selenium.htmlunit.HtmlUnitDriver
public class HtmlUnitDriver
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 String |
INVALIDSELECTIONERROR
|
static 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()
Close the current window, quitting the browser if it's the last window currently open. |
|
Object |
executeAsyncScript(String script,
Object... args)
Execute an asynchronous piece of JavaScript in the context of the currently selected frame or window. |
|
Object |
executeScript(String script,
Object... args)
Executes JavaScript in the context of the currently selected frame or window. |
|
WebElement |
findElement(By by)
Find the first WebElement using the given method. |
|
WebElement |
findElementByCssSelector(String using)
|
|
WebElement |
findElementById(String id)
|
|
WebElement |
findElementByLinkText(String selector)
|
|
WebElement |
findElementByName(String name)
|
|
WebElement |
findElementByPartialLinkText(String using)
|
|
WebElement |
findElementByTagName(String name)
|
|
WebElement |
findElementByXPath(String selector)
|
|
List<WebElement> |
findElements(By by)
Find all elements within the current page using the given mechanism. |
|
List<WebElement> |
findElementsByCssSelector(String using)
|
|
List<WebElement> |
findElementsById(String id)
|
|
List<WebElement> |
findElementsByLinkText(String selector)
|
|
List<WebElement> |
findElementsByName(String using)
|
|
List<WebElement> |
findElementsByPartialLinkText(String using)
|
|
List<WebElement> |
findElementsByTagName(String using)
|
|
List<WebElement> |
findElementsByXPath(String selector)
|
|
void |
get(String url)
Load a new web page in the current browser window. |
|
protected void |
get(URL fullUrl)
Allows HtmlUnit's about:blank to be loaded in the constructor, and may be useful for other tests? |
|
Capabilities |
getCapabilities()
|
|
String |
getCurrentUrl()
Get a string representing the current URL that the browser is looking at. |
|
protected com.gargoylesoftware.htmlunit.WebWindow |
getCurrentWindow()
|
|
Keyboard |
getKeyboard()
|
|
Mouse |
getMouse()
|
|
String |
getPageSource()
Get the source of the last loaded page. |
|
String |
getTitle()
The title of the current page. |
|
protected com.gargoylesoftware.htmlunit.WebClient |
getWebClient()
|
|
String |
getWindowHandle()
Return an opaque handle to this window that uniquely identifies it within this driver instance. |
|
Set<String> |
getWindowHandles()
Return a set of window handles which can be used to iterate over all open windows of this webdriver instance by passing them to #switchTo().window(String) |
|
protected
|
implicitlyWaitFor(Callable<X> condition)
|
|
boolean |
isJavascriptEnabled()
|
|
protected com.gargoylesoftware.htmlunit.Page |
lastPage()
|
|
WebDriver.Options |
manage()
Gets the Option interface |
|
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()
An abstraction allowing the driver to access the browser's history and to navigate to a given URL. |
|
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()
Quits this driver, closing every associated window. |
|
void |
setAutoProxy(String autoProxyUrl)
|
|
void |
setJavascriptEnabled(boolean enableJavascript)
|
|
void |
setProxy(String host,
int port)
|
|
WebDriver.TargetLocator |
switchTo()
Send future commands to a different frame or window. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String INVALIDXPATHERROR
public static final String INVALIDSELECTIONERROR
Constructor Detail |
---|
public HtmlUnitDriver(com.gargoylesoftware.htmlunit.BrowserVersion version)
public HtmlUnitDriver()
public HtmlUnitDriver(boolean enableJavascript)
public HtmlUnitDriver(Capabilities capabilities)
Method Detail |
---|
protected com.gargoylesoftware.htmlunit.WebClient newWebClient(com.gargoylesoftware.htmlunit.BrowserVersion version)
version
- Which browser to emulate
protected com.gargoylesoftware.htmlunit.WebClient modifyWebClient(com.gargoylesoftware.htmlunit.WebClient client)
client
- The client to modify
public void setProxy(String host, int port)
public void setAutoProxy(String autoProxyUrl)
public Capabilities getCapabilities()
getCapabilities
in interface HasCapabilities
public void get(String url)
WebDriver
WebDriver.Navigation.to(String)
.
get
in interface WebDriver
url
- The URL to load. It is best to use a fully qualified URLprotected void get(URL fullUrl)
fullUrl
- The URL to visitprotected void pickWindow()
public String getCurrentUrl()
WebDriver
getCurrentUrl
in interface WebDriver
public String getTitle()
WebDriver
getTitle
in interface WebDriver
public WebElement findElement(By by)
WebDriver
WebElement
using the given method.
findElement
in interface SearchContext
findElement
in interface WebDriver
by
- The locating mechanism
public List<WebElement> findElements(By by)
WebDriver
findElements
in interface SearchContext
findElements
in interface WebDriver
by
- The locating mechanism to use
WebElement
s, or an empty list if nothing matchesBy
public String getPageSource()
WebDriver
getPageSource
in interface WebDriver
public void close()
WebDriver
close
in interface WebDriver
public void quit()
WebDriver
quit
in interface WebDriver
public Set<String> getWindowHandles()
WebDriver
#switchTo().window(String)
getWindowHandles
in interface WebDriver
public String getWindowHandle()
WebDriver
getWindowHandle
in interface WebDriver
public Object executeScript(String script, Object... args)
JavascriptExecutor
Within the script, use document
to refer to the current
document. Note that local variables will not be available once the script
has finished executing, though global variables will persist.
If the script has a return value (i.e. if the script contains a
return
statement), then the following steps will be taken:
Arguments must be a number, a boolean, a String, WebElement, or a List of any combination of the above. An exception will be thrown if the arguments do not meet these criteria. The arguments will be made available to the JavaScript via the "arguments" magic variable, as if the function were called via "Function.apply"
executeScript
in interface JavascriptExecutor
script
- The JavaScript to executeargs
- The arguments to the script. May be empty
public Object executeAsyncScript(String script, Object... args)
JavascriptExecutor
synchronous JavaScript
, scripts
executed with this method must explicitly signal they are finished by
invoking the provided callback. This callback is always injected into the
executed function as the last argument.
The first argument passed to the callback function will be used as the script's result. This value will be handled as follows:
Example #1: Performing a sleep in the browser under test.
long start = System.currentTimeMillis();
((JavascriptExecutor) driver).executeAsyncScript(
"window.setTimeout(arguments[arguments.length - 1], 500);");
System.out.println(
"Elapsed time: " + System.currentTimeMillis() - start);
Example #2: Synchronizing a test with an AJAX application:
WebElement composeButton = driver.findElement(By.id("compose-button"));
composeButton.click();
((JavascriptExecutor) driver).executeAsyncScript(
"var callback = arguments[arguments.length - 1];" +
"mailClient.getComposeWindowWidget().onload(callback);");
driver.switchTo().frame("composeWidget");
driver.findElement(By.id("to")).sendKeys("bog@example.com");
Example #3: Injecting a XMLHttpRequest and waiting for the result:
Object response = ((JavascriptExecutor) driver).executeAsyncScript(
"var callback = arguments[arguments.length - 1];" +
"var xhr = new XMLHttpRequest();" +
"xhr.open('GET', '/resource/data.json', true);" +
"xhr.onreadystatechange = function() {" +
" if (xhr.readyState == 4) {" +
" callback(xhr.responseText);" +
" }" +
"}" +
"xhr.send();");
JSONObject json = new JSONObject((String) response);
assertEquals("cheese", json.getString("food"));
executeAsyncScript
in interface JavascriptExecutor
script
- The JavaScript to execute.args
- The arguments to the script. May be empty.
public Keyboard getKeyboard()
getKeyboard
in interface HasInputDevices
public Mouse getMouse()
getMouse
in interface HasInputDevices
public WebDriver.TargetLocator switchTo()
WebDriver
switchTo
in interface WebDriver
WebDriver.TargetLocator
public WebDriver.Navigation navigate()
WebDriver
navigate
in interface WebDriver
WebDriver.Navigation
that allows
the selection of what to do nextprotected com.gargoylesoftware.htmlunit.Page lastPage()
public WebElement findElementByLinkText(String selector)
findElementByLinkText
in interface FindsByLinkText
protected WebElement newHtmlUnitWebElement(com.gargoylesoftware.htmlunit.html.HtmlElement element)
public List<WebElement> findElementsByLinkText(String selector)
findElementsByLinkText
in interface FindsByLinkText
public WebElement findElementById(String id)
findElementById
in interface FindsById
public List<WebElement> findElementsById(String id)
findElementsById
in interface FindsById
public WebElement findElementByCssSelector(String using)
findElementByCssSelector
in interface FindsByCssSelector
public List<WebElement> findElementsByCssSelector(String using)
findElementsByCssSelector
in interface FindsByCssSelector
public WebElement findElementByName(String name)
findElementByName
in interface FindsByName
public List<WebElement> findElementsByName(String using)
findElementsByName
in interface FindsByName
public WebElement findElementByTagName(String name)
findElementByTagName
in interface FindsByTagName
public List<WebElement> findElementsByTagName(String using)
findElementsByTagName
in interface FindsByTagName
public WebElement findElementByXPath(String selector)
findElementByXPath
in interface FindsByXPath
public List<WebElement> findElementsByXPath(String selector)
findElementsByXPath
in interface FindsByXPath
public boolean isJavascriptEnabled()
public void setJavascriptEnabled(boolean enableJavascript)
protected <X> X implicitlyWaitFor(Callable<X> condition)
protected com.gargoylesoftware.htmlunit.WebClient getWebClient()
protected com.gargoylesoftware.htmlunit.WebWindow getCurrentWindow()
public WebDriver.Options manage()
WebDriver
manage
in interface WebDriver
WebDriver.Options
public WebElement findElementByPartialLinkText(String using)
findElementByPartialLinkText
in interface FindsByLinkText
public List<WebElement> findElementsByPartialLinkText(String using)
findElementsByPartialLinkText
in interface FindsByLinkText
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |