Package net.thucydides.core.webdriver
Class WebDriverFacade
java.lang.Object
net.thucydides.core.webdriver.WebDriverFacade
- All Implemented Interfaces:
ConfigurableTimeouts,org.openqa.selenium.HasCapabilities,org.openqa.selenium.interactions.HasInputDevices,org.openqa.selenium.interactions.Interactive,org.openqa.selenium.JavascriptExecutor,org.openqa.selenium.SearchContext,org.openqa.selenium.TakesScreenshot,org.openqa.selenium.WebDriver
public class WebDriverFacade extends java.lang.Object implements org.openqa.selenium.WebDriver, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.interactions.HasInputDevices, org.openqa.selenium.JavascriptExecutor, org.openqa.selenium.HasCapabilities, ConfigurableTimeouts, org.openqa.selenium.interactions.Interactive
A proxy class for webdriver instances, designed to prevent the browser being opened unnecessarily.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.openqa.selenium.WebDriver
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 -
Field Summary
Fields Modifier and Type Field Description protected org.openqa.selenium.WebDriverproxiedWebDriver -
Constructor Summary
Constructors Constructor Description WebDriverFacade(java.lang.Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory)WebDriverFacade(java.lang.Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory, EnvironmentVariables environmentVariables)WebDriverFacade(java.lang.Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory, org.openqa.selenium.WebDriver proxiedWebDriver, java.time.Duration implicitTimeout)WebDriverFacade(org.openqa.selenium.WebDriver driver, WebDriverFactory webDriverFactory, EnvironmentVariables environmentVariables) -
Method Summary
Modifier and Type Method Description booleancanTakeScreenshots()voidclose()java.lang.ObjectexecuteAsyncScript(java.lang.String script, java.lang.Object... parameters)java.lang.ObjectexecuteScript(java.lang.String script, java.lang.Object... parameters)org.openqa.selenium.WebElementfindElement(org.openqa.selenium.By by)java.util.List<org.openqa.selenium.WebElement>findElements(org.openqa.selenium.By by)voidget(java.lang.String url)org.openqa.selenium.CapabilitiesgetCapabilities()java.time.DurationgetCurrentImplicitTimeout()java.lang.StringgetCurrentUrl()java.lang.Class<? extends org.openqa.selenium.WebDriver>getDriverClass()protected org.openqa.selenium.WebDrivergetDriverInstance()java.lang.StringgetDriverName()org.openqa.selenium.interactions.KeyboardgetKeyboard()org.openqa.selenium.interactions.MousegetMouse()java.lang.StringgetPageSource()org.openqa.selenium.WebDrivergetProxiedDriver()<X> XgetScreenshotAs(org.openqa.selenium.OutputType<X> target)java.lang.StringgetTitle()java.lang.StringgetWindowHandle()java.util.Set<java.lang.String>getWindowHandles()booleanisAProxyFor(java.lang.Class<? extends org.openqa.selenium.WebDriver> somedriverClass)booleanisDisabled()booleanisEnabled()booleanisInstantiated()org.openqa.selenium.WebDriver.Optionsmanage()org.openqa.selenium.WebDriver.Navigationnavigate()voidperform(java.util.Collection<org.openqa.selenium.interactions.Sequence> actions)protected booleanproxyInstanciated()voidquit()voidreset()voidresetInputState()java.time.DurationresetTimeouts()voidsetImplicitTimeout(java.time.Duration implicitTimeout)org.openqa.selenium.WebDriver.TargetLocatorswitchTo()java.lang.StringtoString()WebDriverFacadewithOptions(java.lang.String options)WebDriverFacadewithTimeoutOf(java.time.Duration implicitTimeout)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
proxiedWebDriver
protected org.openqa.selenium.WebDriver proxiedWebDriver
-
-
Constructor Details
-
WebDriverFacade
public WebDriverFacade(java.lang.Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory) -
WebDriverFacade
public WebDriverFacade(java.lang.Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory, EnvironmentVariables environmentVariables) -
WebDriverFacade
public WebDriverFacade(org.openqa.selenium.WebDriver driver, WebDriverFactory webDriverFactory, EnvironmentVariables environmentVariables) -
WebDriverFacade
public WebDriverFacade(java.lang.Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory, org.openqa.selenium.WebDriver proxiedWebDriver, java.time.Duration implicitTimeout)
-
-
Method Details
-
withTimeoutOf
-
getDriverClass
public java.lang.Class<? extends org.openqa.selenium.WebDriver> getDriverClass() -
getProxiedDriver
public org.openqa.selenium.WebDriver getProxiedDriver() -
isEnabled
public boolean isEnabled() -
reset
public void reset() -
getScreenshotAs
public <X> X getScreenshotAs(org.openqa.selenium.OutputType<X> target)- Specified by:
getScreenshotAsin interfaceorg.openqa.selenium.TakesScreenshot
-
get
public void get(java.lang.String url)- Specified by:
getin interfaceorg.openqa.selenium.WebDriver
-
getCurrentUrl
public java.lang.String getCurrentUrl()- Specified by:
getCurrentUrlin interfaceorg.openqa.selenium.WebDriver
-
getTitle
public java.lang.String getTitle()- Specified by:
getTitlein interfaceorg.openqa.selenium.WebDriver
-
findElements
public java.util.List<org.openqa.selenium.WebElement> findElements(org.openqa.selenium.By by)- Specified by:
findElementsin interfaceorg.openqa.selenium.SearchContext- Specified by:
findElementsin interfaceorg.openqa.selenium.WebDriver
-
findElement
public org.openqa.selenium.WebElement findElement(org.openqa.selenium.By by)- Specified by:
findElementin interfaceorg.openqa.selenium.SearchContext- Specified by:
findElementin interfaceorg.openqa.selenium.WebDriver
-
getPageSource
public java.lang.String getPageSource()- Specified by:
getPageSourcein interfaceorg.openqa.selenium.WebDriver
-
setImplicitTimeout
public void setImplicitTimeout(java.time.Duration implicitTimeout)- Specified by:
setImplicitTimeoutin interfaceConfigurableTimeouts
-
getCurrentImplicitTimeout
public java.time.Duration getCurrentImplicitTimeout()- Specified by:
getCurrentImplicitTimeoutin interfaceConfigurableTimeouts
-
resetTimeouts
public java.time.Duration resetTimeouts()- Specified by:
resetTimeoutsin interfaceConfigurableTimeouts
-
getDriverInstance
protected org.openqa.selenium.WebDriver getDriverInstance() -
close
public void close()- Specified by:
closein interfaceorg.openqa.selenium.WebDriver
-
quit
public void quit()- Specified by:
quitin interfaceorg.openqa.selenium.WebDriver
-
proxyInstanciated
protected boolean proxyInstanciated() -
getWindowHandles
public java.util.Set<java.lang.String> getWindowHandles()- Specified by:
getWindowHandlesin interfaceorg.openqa.selenium.WebDriver
-
getWindowHandle
public java.lang.String getWindowHandle()- Specified by:
getWindowHandlein interfaceorg.openqa.selenium.WebDriver
-
switchTo
public org.openqa.selenium.WebDriver.TargetLocator switchTo()- Specified by:
switchToin interfaceorg.openqa.selenium.WebDriver
-
manage
public org.openqa.selenium.WebDriver.Options manage()- Specified by:
managein interfaceorg.openqa.selenium.WebDriver
-
canTakeScreenshots
public boolean canTakeScreenshots() -
isInstantiated
public boolean isInstantiated() -
getKeyboard
public org.openqa.selenium.interactions.Keyboard getKeyboard()- Specified by:
getKeyboardin interfaceorg.openqa.selenium.interactions.HasInputDevices
-
getMouse
public org.openqa.selenium.interactions.Mouse getMouse()- Specified by:
getMousein interfaceorg.openqa.selenium.interactions.HasInputDevices
-
executeScript
public java.lang.Object executeScript(java.lang.String script, java.lang.Object... parameters)- Specified by:
executeScriptin interfaceorg.openqa.selenium.JavascriptExecutor
-
executeAsyncScript
public java.lang.Object executeAsyncScript(java.lang.String script, java.lang.Object... parameters)- Specified by:
executeAsyncScriptin interfaceorg.openqa.selenium.JavascriptExecutor
-
getCapabilities
public org.openqa.selenium.Capabilities getCapabilities()- Specified by:
getCapabilitiesin interfaceorg.openqa.selenium.HasCapabilities
-
getDriverName
public java.lang.String getDriverName() -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
withOptions
-
isAProxyFor
public boolean isAProxyFor(java.lang.Class<? extends org.openqa.selenium.WebDriver> somedriverClass) -
isDisabled
public boolean isDisabled() -
perform
public void perform(java.util.Collection<org.openqa.selenium.interactions.Sequence> actions)- Specified by:
performin interfaceorg.openqa.selenium.interactions.Interactive
-
resetInputState
public void resetInputState()- Specified by:
resetInputStatein interfaceorg.openqa.selenium.interactions.Interactive
-