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.WrapsDriverpublic void get(java.lang.String url)
get in interface org.openqa.selenium.WebDriverpublic java.lang.String getCurrentUrl()
getCurrentUrl in interface org.openqa.selenium.WebDriverpublic java.lang.String getTitle()
getTitle in interface org.openqa.selenium.WebDriverpublic java.util.List<org.openqa.selenium.WebElement> findElements(org.openqa.selenium.By by)
findElements in interface org.openqa.selenium.SearchContextfindElements in interface org.openqa.selenium.WebDriverpublic org.openqa.selenium.WebElement findElement(org.openqa.selenium.By by)
findElement in interface org.openqa.selenium.SearchContextfindElement in interface org.openqa.selenium.WebDriverpublic java.lang.String getPageSource()
getPageSource in interface org.openqa.selenium.WebDriverpublic void close()
close in interface org.openqa.selenium.WebDriverpublic void quit()
quit in interface org.openqa.selenium.WebDriverpublic java.util.Set<java.lang.String> getWindowHandles()
getWindowHandles in interface org.openqa.selenium.WebDriverpublic java.lang.String getWindowHandle()
getWindowHandle in interface org.openqa.selenium.WebDriverpublic java.lang.Object executeScript(java.lang.String script,
java.lang.Object... args)
executeScript in interface org.openqa.selenium.JavascriptExecutorpublic java.lang.Object executeAsyncScript(java.lang.String script,
java.lang.Object... args)
executeAsyncScript in interface org.openqa.selenium.JavascriptExecutorprivate 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.TakesScreenshotorg.openqa.selenium.WebDriverExceptionpublic org.openqa.selenium.WebDriver.TargetLocator switchTo()
switchTo in interface org.openqa.selenium.WebDriverpublic org.openqa.selenium.WebDriver.Navigation navigate()
navigate in interface org.openqa.selenium.WebDriverpublic org.openqa.selenium.WebDriver.Options manage()
manage in interface org.openqa.selenium.WebDriverprivate org.openqa.selenium.WebElement createWebElement(org.openqa.selenium.WebElement from)
public org.openqa.selenium.interactions.Keyboard getKeyboard()
getKeyboard in interface org.openqa.selenium.interactions.HasInputDevicespublic org.openqa.selenium.interactions.Mouse getMouse()
getMouse in interface org.openqa.selenium.interactions.HasInputDevicespublic org.openqa.selenium.interactions.TouchScreen getTouch()
getTouch in interface org.openqa.selenium.interactions.HasTouchScreen