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 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.
  • Field Details

    • proxiedWebDriver

      protected org.openqa.selenium.WebDriver proxiedWebDriver
  • Constructor Details

    • WebDriverFacade

      public WebDriverFacade(Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory)
    • WebDriverFacade

      public WebDriverFacade(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(Class<? extends org.openqa.selenium.WebDriver> driverClass, WebDriverFactory webDriverFactory, org.openqa.selenium.WebDriver proxiedWebDriver, Duration implicitTimeout)
  • Method Details

    • withTimeoutOf

      public WebDriverFacade withTimeoutOf(Duration implicitTimeout)
    • getDriverClass

      public 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:
      getScreenshotAs in interface org.openqa.selenium.TakesScreenshot
    • get

      public void get(String url)
      Specified by:
      get in interface org.openqa.selenium.WebDriver
    • getCurrentUrl

      public String getCurrentUrl()
      Specified by:
      getCurrentUrl in interface org.openqa.selenium.WebDriver
    • getTitle

      public String getTitle()
      Specified by:
      getTitle in interface org.openqa.selenium.WebDriver
    • findElements

      public List<org.openqa.selenium.WebElement> findElements(org.openqa.selenium.By by)
      Specified by:
      findElements in interface org.openqa.selenium.SearchContext
      Specified by:
      findElements in interface org.openqa.selenium.WebDriver
    • findElement

      public org.openqa.selenium.WebElement findElement(org.openqa.selenium.By by)
      Specified by:
      findElement in interface org.openqa.selenium.SearchContext
      Specified by:
      findElement in interface org.openqa.selenium.WebDriver
    • getPageSource

      public String getPageSource()
      Specified by:
      getPageSource in interface org.openqa.selenium.WebDriver
    • setImplicitTimeout

      public void setImplicitTimeout(Duration implicitTimeout)
      Specified by:
      setImplicitTimeout in interface ConfigurableTimeouts
    • getCurrentImplicitTimeout

      public Duration getCurrentImplicitTimeout()
      Specified by:
      getCurrentImplicitTimeout in interface ConfigurableTimeouts
    • resetTimeouts

      public Duration resetTimeouts()
      Specified by:
      resetTimeouts in interface ConfigurableTimeouts
    • getDriverInstance

      protected org.openqa.selenium.WebDriver getDriverInstance()
    • close

      public void close()
      Specified by:
      close in interface org.openqa.selenium.WebDriver
    • quit

      public void quit()
      Specified by:
      quit in interface org.openqa.selenium.WebDriver
    • proxyInstanciated

      protected boolean proxyInstanciated()
    • getWindowHandles

      public Set<String> getWindowHandles()
      Specified by:
      getWindowHandles in interface org.openqa.selenium.WebDriver
    • getWindowHandle

      public String getWindowHandle()
      Specified by:
      getWindowHandle in interface org.openqa.selenium.WebDriver
    • switchTo

      public org.openqa.selenium.WebDriver.TargetLocator switchTo()
      Specified by:
      switchTo in interface org.openqa.selenium.WebDriver
    • manage

      public org.openqa.selenium.WebDriver.Options manage()
      Specified by:
      manage in interface org.openqa.selenium.WebDriver
    • canTakeScreenshots

      public boolean canTakeScreenshots()
    • isInstantiated

      public boolean isInstantiated()
    • getKeyboard

      public org.openqa.selenium.interactions.Keyboard getKeyboard()
      Specified by:
      getKeyboard in interface org.openqa.selenium.interactions.HasInputDevices
    • getMouse

      public org.openqa.selenium.interactions.Mouse getMouse()
      Specified by:
      getMouse in interface org.openqa.selenium.interactions.HasInputDevices
    • executeScript

      public Object executeScript(String script, Object... parameters)
      Specified by:
      executeScript in interface org.openqa.selenium.JavascriptExecutor
    • executeAsyncScript

      public Object executeAsyncScript(String script, Object... parameters)
      Specified by:
      executeAsyncScript in interface org.openqa.selenium.JavascriptExecutor
    • getCapabilities

      public org.openqa.selenium.Capabilities getCapabilities()
      Specified by:
      getCapabilities in interface org.openqa.selenium.HasCapabilities
    • getDriverName

      public String getDriverName()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • withOptions

      public WebDriverFacade withOptions(String options)
    • isAProxyFor

      public boolean isAProxyFor(Class<? extends org.openqa.selenium.WebDriver> somedriverClass)
    • isDisabled

      public boolean isDisabled()
    • perform

      public void perform(Collection<org.openqa.selenium.interactions.Sequence> actions)
      Specified by:
      perform in interface org.openqa.selenium.interactions.Interactive
    • resetInputState

      public void resetInputState()
      Specified by:
      resetInputState in interface org.openqa.selenium.interactions.Interactive