Interface WebDriverProvider


  • public interface WebDriverProvider

    Interface for using custom WebDriver in your tests

    To customize WebDriver creation one can use any of the alternatives:

    • Call method WebDriverRunner.setWebDriver(WebDriver) explicitly.
    • Extend WebDriver implementation, override public XxxDriver(Capabilities desiredCapabilities) constructor and pass this class name as browser system variable value.
    • Implement this very interface and pass the implementation class name as browser system variable value.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.openqa.selenium.WebDriver createDriver​(org.openqa.selenium.remote.DesiredCapabilities desiredCapabilities)
      Create new WebDriver instance.
    • Method Detail

      • createDriver

        @CheckReturnValue
        @Nonnull
        org.openqa.selenium.WebDriver createDriver​(@Nonnull
                                                   org.openqa.selenium.remote.DesiredCapabilities desiredCapabilities)
        Create new WebDriver instance. The instance will be bound to current thread, so there is no need to cache this instance in method implementation. Also don't cache the instance in static variable, as WebDriver instance is not thread-safe.
        Parameters:
        desiredCapabilities - set of desired capabilities as suggested by Selenide framework; method implementation is recommended to pass this variable to WebDriver, probably modifying it according to specific needs
        Returns:
        new WebDriver instance