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
- Serializable
- Product
- Equals
- GrumpyDriver
- WebDriver
- SearchContext
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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]
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.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[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @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
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )