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
- Alphabetic
- By Inheritance
- UnavailableDriver
- Serializable
- Product
- Equals
- GrumpyDriver
- WebDriver
- SearchContext
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new UnavailableDriver(ex: Option[Throwable], errorMessage: String)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def close(): Unit
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- def complain(): Nothing
Throws
UnsupportedOperationException
with an appropriate error message and, optionally, cause.Throws
UnsupportedOperationException
with an appropriate error message and, optionally, cause.- Attributes
- protected
- Definition Classes
- UnavailableDriver → GrumpyDriver
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val errorMessage: String
- val ex: Option[Throwable]
- final def findElement(by: By): WebElement
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver → SearchContext
- final def findElements(by: By): List[WebElement]
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver → SearchContext
- final def get(url: String): Unit
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def getCurrentUrl(): String
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def getPageSource(): String
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def getTitle(): String
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def getWindowHandle(): String
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def getWindowHandles(): Set[String]
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def manage(): Options
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def navigate(): Navigation
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def quit(): Unit
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def switchTo(): TargetLocator
Throws
UnsupportedOperationException
.Throws
UnsupportedOperationException
.- Definition Classes
- GrumpyDriver → WebDriver
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)