Package net.thucydides.core.webdriver
Class WebDriverFactory
- java.lang.Object
-
- net.thucydides.core.webdriver.WebDriverFactory
-
public class WebDriverFactory extends Object
Provides an instance of a supported WebDriver. When you instantiate a WebDriver instance for Firefox or Chrome, it opens a new browser.- Author:
- johnsmart
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_DRIVER
static String
REMOTE_DRIVER
-
Constructor Summary
Constructors Constructor Description WebDriverFactory()
WebDriverFactory(EnvironmentVariables environmentVariables)
WebDriverFactory(EnvironmentVariables environmentVariables, FixtureProviderService fixtureProviderService)
WebDriverFactory(EnvironmentVariables environmentVariables, FixtureProviderService fixtureProviderService, SaucelabsRemoteDriverCapabilities saucelabsRemoteDriverCapabilities, TimeoutStack timeoutStack, CloseBrowser closeBrowser)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Duration
currentTimeoutFor(org.openqa.selenium.WebDriver proxiedDriver)
static String
getBrowserStackDriverFrom(EnvironmentVariables environmentVariables)
Class<? extends org.openqa.selenium.WebDriver>
getClassFor(SupportedWebDriver driverType)
Duration
getDefaultImplicitTimeout()
static String
getDriverFrom(EnvironmentVariables environmentVariables)
static String
getDriverFrom(EnvironmentVariables environmentVariables, String defaultDriver)
static String
getSaucelabsDriverFrom(EnvironmentVariables environmentVariables)
static boolean
isAlive(org.openqa.selenium.WebDriver driver)
static boolean
isNotAlive(org.openqa.selenium.WebDriver driver)
org.openqa.selenium.WebDriver
newInstanceOf(SupportedWebDriver driverType)
Create a new WebDriver instance of a given type.protected org.openqa.selenium.WebDriver
newWebdriverInstance(Class<? extends org.openqa.selenium.WebDriver> driverClass)
This method is synchronized because multiple webdriver instances can be created in parallel.protected org.openqa.selenium.WebDriver
newWebdriverInstance(Class<? extends org.openqa.selenium.WebDriver> driverClass, String options, EnvironmentVariables environmentVariables)
void
releaseTimoutFor(org.openqa.selenium.WebDriver driverInstance)
Duration
resetTimeouts(org.openqa.selenium.WebDriver proxiedDriver)
void
setTimeouts(org.openqa.selenium.WebDriver proxiedDriver, Duration implicitTimeout)
void
setupFixtureServices()
void
shutdownFixtureServices()
boolean
usesSauceLabs()
WebDriverFactory
withEnvironmentVariables(EnvironmentVariables environmentVariables)
-
-
-
Field Detail
-
DEFAULT_DRIVER
public static final String DEFAULT_DRIVER
- See Also:
- Constant Field Values
-
REMOTE_DRIVER
public static final String REMOTE_DRIVER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
WebDriverFactory
public WebDriverFactory()
-
WebDriverFactory
public WebDriverFactory(EnvironmentVariables environmentVariables)
-
WebDriverFactory
public WebDriverFactory(EnvironmentVariables environmentVariables, FixtureProviderService fixtureProviderService)
-
WebDriverFactory
public WebDriverFactory(EnvironmentVariables environmentVariables, FixtureProviderService fixtureProviderService, SaucelabsRemoteDriverCapabilities saucelabsRemoteDriverCapabilities, TimeoutStack timeoutStack, CloseBrowser closeBrowser)
-
-
Method Detail
-
withEnvironmentVariables
public WebDriverFactory withEnvironmentVariables(EnvironmentVariables environmentVariables)
-
newInstanceOf
public org.openqa.selenium.WebDriver newInstanceOf(SupportedWebDriver driverType)
Create a new WebDriver instance of a given type.
-
getClassFor
public Class<? extends org.openqa.selenium.WebDriver> getClassFor(SupportedWebDriver driverType)
-
usesSauceLabs
public boolean usesSauceLabs()
-
newWebdriverInstance
protected org.openqa.selenium.WebDriver newWebdriverInstance(Class<? extends org.openqa.selenium.WebDriver> driverClass)
This method is synchronized because multiple webdriver instances can be created in parallel. However, they may use common system resources such as ports, so may potentially interfere with each other.
-
newWebdriverInstance
protected org.openqa.selenium.WebDriver newWebdriverInstance(Class<? extends org.openqa.selenium.WebDriver> driverClass, String options, EnvironmentVariables environmentVariables)
-
getDriverFrom
public static String getDriverFrom(EnvironmentVariables environmentVariables, String defaultDriver)
-
getDriverFrom
public static String getDriverFrom(EnvironmentVariables environmentVariables)
-
getBrowserStackDriverFrom
public static String getBrowserStackDriverFrom(EnvironmentVariables environmentVariables)
-
getSaucelabsDriverFrom
public static String getSaucelabsDriverFrom(EnvironmentVariables environmentVariables)
-
setupFixtureServices
public void setupFixtureServices() throws FixtureException
- Throws:
FixtureException
-
shutdownFixtureServices
public void shutdownFixtureServices()
-
setTimeouts
public void setTimeouts(org.openqa.selenium.WebDriver proxiedDriver, Duration implicitTimeout)
-
currentTimeoutFor
public Duration currentTimeoutFor(org.openqa.selenium.WebDriver proxiedDriver)
-
resetTimeouts
public Duration resetTimeouts(org.openqa.selenium.WebDriver proxiedDriver)
-
getDefaultImplicitTimeout
public Duration getDefaultImplicitTimeout()
-
isAlive
public static boolean isAlive(org.openqa.selenium.WebDriver driver)
-
isNotAlive
public static boolean isNotAlive(org.openqa.selenium.WebDriver driver)
-
releaseTimoutFor
public void releaseTimoutFor(org.openqa.selenium.WebDriver driverInstance)
-
-