A null-object implementation of the Selenium WebDriver
interface that throws UnsupportedOperationException
from
all of its methods, used when either 1) a WebDriver
field has not yet been initialized, 2) a requested Selenium
WebDriver
is unavailable on the host platform, or 3) a test that did not declare it needed a WebDriver
in
AllBrowserPerSuite or AllBrowserPerTest attempts to use one.
A null-object implementation of the Selenium WebDriver
interface that throws UnsupportedOperationException
from
all of its methods, used when either 1) a WebDriver
field has not yet been initialized, 2) a requested Selenium
WebDriver
is unavailable on the host platform, or 3) a test that did not declare it needed a WebDriver
in
AllBrowserPerSuite or AllBrowserPerTest attempts to use one.
This is named GrumpyDriver
because all it does is complain. No matter what you ask of it, it throws an
UnsupportedOperationException
back at you.
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.
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.
An implementation of WebDriver
that throws UnsupportedOperationException
from
all of its methods, used to initialize instance var
s of type WebDriver
.
An implementation of WebDriver
that throws UnsupportedOperationException
from
all of its methods, used to initialize instance var
s of type WebDriver
.
Traits OneBrowserPerTest, ConfiguredBrowser,
AllBrowsersPerSuite, and AllBrowsersPerTest initialize
their webDriver
field with this value (to avoid initializing with null
).
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 UnsupportedOperationException
thrown by the methods of the Null Object we provide carries a user-friendly error message.
An implementation of WebDriver
that throws UnsupportedOperationException
from
all of its methods, used when a test does not need a Selenium WebDriver
at all.
An implementation of WebDriver
that throws UnsupportedOperationException
from
all of its methods, used when a test does not need a Selenium WebDriver
at all.
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 UnsupportedOperationException
thrown by the methods of the Null Object we provide carries a user-friendly error message.
Companion object to trait
BrowserFactory
that holds aUnavailableDriver
object that implements the SeleniumWebDriver
interface by throwingUnuspportedOperationException
. This is used as a placeholder when a driver is not available on the host platform.