public class EventFiringWebDriver
extends java.lang.Object
implements org.openqa.selenium.WebDriver, org.openqa.selenium.JavascriptExecutor, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.internal.WrapsDriver, org.openqa.selenium.interactions.HasInputDevices, org.openqa.selenium.interactions.HasTouchScreen
WebDriver
instance which supports registering of a
WebDriverEventListener
, e.g. for logging purposes.Modifier and Type | Class and Description |
---|---|
private class |
EventFiringWebDriver.EventFiringAlert |
private class |
EventFiringWebDriver.EventFiringNavigation |
private class |
EventFiringWebDriver.EventFiringOptions |
private class |
EventFiringWebDriver.EventFiringTargetLocator |
private class |
EventFiringWebDriver.EventFiringTimeouts |
private class |
EventFiringWebDriver.EventFiringWebElement |
private class |
EventFiringWebDriver.EventFiringWindow |
org.openqa.selenium.WebDriver.ImeHandler, org.openqa.selenium.WebDriver.Navigation, org.openqa.selenium.WebDriver.Options, org.openqa.selenium.WebDriver.TargetLocator, org.openqa.selenium.WebDriver.Timeouts, org.openqa.selenium.WebDriver.Window
Modifier and Type | Field and Description |
---|---|
private WebDriverEventListener |
dispatcher |
private org.openqa.selenium.WebDriver |
driver |
private java.util.List<WebDriverEventListener> |
eventListeners |
Constructor and Description |
---|
EventFiringWebDriver(org.openqa.selenium.WebDriver driver) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
private org.openqa.selenium.WebElement |
createWebElement(org.openqa.selenium.WebElement from) |
java.lang.Object |
executeAsyncScript(java.lang.String script,
java.lang.Object... args) |
java.lang.Object |
executeScript(java.lang.String script,
java.lang.Object... args) |
private java.lang.Class<?>[] |
extractInterfaces(java.lang.Object object) |
private void |
extractInterfaces(java.util.Set<java.lang.Class<?>> addTo,
java.lang.Class<?> clazz) |
org.openqa.selenium.WebElement |
findElement(org.openqa.selenium.By by) |
java.util.List<org.openqa.selenium.WebElement> |
findElements(org.openqa.selenium.By by) |
void |
get(java.lang.String url) |
java.lang.String |
getCurrentUrl() |
org.openqa.selenium.interactions.Keyboard |
getKeyboard() |
org.openqa.selenium.interactions.Mouse |
getMouse() |
java.lang.String |
getPageSource() |
<X> X |
getScreenshotAs(org.openqa.selenium.OutputType<X> target) |
java.lang.String |
getTitle() |
org.openqa.selenium.interactions.TouchScreen |
getTouch() |
java.lang.String |
getWindowHandle() |
java.util.Set<java.lang.String> |
getWindowHandles() |
org.openqa.selenium.WebDriver |
getWrappedDriver() |
org.openqa.selenium.WebDriver.Options |
manage() |
org.openqa.selenium.WebDriver.Navigation |
navigate() |
void |
quit() |
EventFiringWebDriver |
register(WebDriverEventListener eventListener) |
org.openqa.selenium.WebDriver.TargetLocator |
switchTo() |
private java.lang.Object[] |
unpackWrappedArgs(java.lang.Object... args) |
private java.lang.Object |
unpackWrappedElement(java.lang.Object arg) |
EventFiringWebDriver |
unregister(WebDriverEventListener eventListener) |
private final org.openqa.selenium.WebDriver driver
private final java.util.List<WebDriverEventListener> eventListeners
private final WebDriverEventListener dispatcher
public EventFiringWebDriver(org.openqa.selenium.WebDriver driver)
private java.lang.Class<?>[] extractInterfaces(java.lang.Object object)
private void extractInterfaces(java.util.Set<java.lang.Class<?>> addTo, java.lang.Class<?> clazz)
public EventFiringWebDriver register(WebDriverEventListener eventListener)
eventListener
- the event listener to registerpublic EventFiringWebDriver unregister(WebDriverEventListener eventListener)
eventListener
- the event listener to unregisterpublic org.openqa.selenium.WebDriver getWrappedDriver()
getWrappedDriver
in interface org.openqa.selenium.internal.WrapsDriver
public void get(java.lang.String url)
get
in interface org.openqa.selenium.WebDriver
public java.lang.String getCurrentUrl()
getCurrentUrl
in interface org.openqa.selenium.WebDriver
public java.lang.String getTitle()
getTitle
in interface org.openqa.selenium.WebDriver
public java.util.List<org.openqa.selenium.WebElement> findElements(org.openqa.selenium.By by)
findElements
in interface org.openqa.selenium.SearchContext
findElements
in interface org.openqa.selenium.WebDriver
public org.openqa.selenium.WebElement findElement(org.openqa.selenium.By by)
findElement
in interface org.openqa.selenium.SearchContext
findElement
in interface org.openqa.selenium.WebDriver
public java.lang.String getPageSource()
getPageSource
in interface org.openqa.selenium.WebDriver
public void close()
close
in interface org.openqa.selenium.WebDriver
public void quit()
quit
in interface org.openqa.selenium.WebDriver
public java.util.Set<java.lang.String> getWindowHandles()
getWindowHandles
in interface org.openqa.selenium.WebDriver
public java.lang.String getWindowHandle()
getWindowHandle
in interface org.openqa.selenium.WebDriver
public java.lang.Object executeScript(java.lang.String script, java.lang.Object... args)
executeScript
in interface org.openqa.selenium.JavascriptExecutor
public java.lang.Object executeAsyncScript(java.lang.String script, java.lang.Object... args)
executeAsyncScript
in interface org.openqa.selenium.JavascriptExecutor
private java.lang.Object[] unpackWrappedArgs(java.lang.Object... args)
private java.lang.Object unpackWrappedElement(java.lang.Object arg)
public <X> X getScreenshotAs(org.openqa.selenium.OutputType<X> target) throws org.openqa.selenium.WebDriverException
getScreenshotAs
in interface org.openqa.selenium.TakesScreenshot
org.openqa.selenium.WebDriverException
public org.openqa.selenium.WebDriver.TargetLocator switchTo()
switchTo
in interface org.openqa.selenium.WebDriver
public org.openqa.selenium.WebDriver.Navigation navigate()
navigate
in interface org.openqa.selenium.WebDriver
public org.openqa.selenium.WebDriver.Options manage()
manage
in interface org.openqa.selenium.WebDriver
private org.openqa.selenium.WebElement createWebElement(org.openqa.selenium.WebElement from)
public org.openqa.selenium.interactions.Keyboard getKeyboard()
getKeyboard
in interface org.openqa.selenium.interactions.HasInputDevices
public org.openqa.selenium.interactions.Mouse getMouse()
getMouse
in interface org.openqa.selenium.interactions.HasInputDevices
public org.openqa.selenium.interactions.TouchScreen getTouch()
getTouch
in interface org.openqa.selenium.interactions.HasTouchScreen