Packages

case class UnavailableDriver(ex: Option[Throwable], errorMessage: String) extends GrumpyDriver with Product with Serializable

An implementation of WebDriver that provides an optional exception and an error message and throws UnsupportedOperationException from all of its other methods, used when a requested Selenium WebDriver is unavailable on the host platform.

Traits OneBrowserPerSuite, OneBrowserPerTest, AllBrowsersPerTest, and MixedFixtures check if the requested WebDriver is available, and if not, installs this driver (to avoid initializing with null) and cancels the tests.

This is an example of the "Null Object Pattern." We use this pattern to avoid initializing with null instead of making the driver type an Option[WebDriver] for two reasons: 1) the type of the implicit needed by Selenium is WebDriver, not Option[WebDriver], and 2) the Null Object we provide also carries an optional exception and user-friendly error message.

Source
BrowserFactory.scala
Linear Supertypes
Serializable, Product, Equals, GrumpyDriver, WebDriver, SearchContext, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UnavailableDriver
  2. Serializable
  3. Product
  4. Equals
  5. GrumpyDriver
  6. WebDriver
  7. SearchContext
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new UnavailableDriver(ex: Option[Throwable], errorMessage: String)

Value Members

  1. final def close(): Unit

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  2. val errorMessage: String
  3. val ex: Option[Throwable]
  4. final def findElement(by: By): WebElement

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver → SearchContext
  5. final def findElements(by: By): List[WebElement]

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver → SearchContext
  6. final def get(url: String): Unit

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  7. final def getCurrentUrl(): String

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  8. final def getPageSource(): String

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  9. final def getTitle(): String

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  10. final def getWindowHandle(): String

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  11. final def getWindowHandles(): Set[String]

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  12. final def manage(): Options

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  13. final def navigate(): Navigation

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  14. def productElementNames: Iterator[String]
    Definition Classes
    Product
  15. final def quit(): Unit

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver
  16. final def switchTo(): TargetLocator

    Throws UnsupportedOperationException.

    Throws UnsupportedOperationException.

    Definition Classes
    GrumpyDriver → WebDriver