Package io.github.bonigarcia.wdm
Class WebDriverManager
java.lang.Object
io.github.bonigarcia.wdm.WebDriverManager
- Direct Known Subclasses:
ChromeDriverManager
,EdgeDriverManager
,FirefoxDriverManager
,InternetExplorerDriverManager
,OperaDriverManager
,VoidDriverManager
Parent driver manager.
- Since:
- 2.1.0
- Author:
- Boni Garcia
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected static final String
protected CacheHandler
protected org.openqa.selenium.Capabilities
protected static final String
protected static final String
protected static final String
protected static final String
protected Config
protected static final String
protected boolean
protected boolean
protected boolean
protected DockerService
protected String
protected String
protected Downloader
protected HttpClient
protected static final String
protected boolean
protected static final String
protected static final org.slf4j.Logger
protected ResolutionCache
protected String
protected int
protected static final NamespaceContext
protected boolean
protected static final String
protected VersionDetector
protected boolean
protected WebDriverCreator
protected List<WebDriverBrowser>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addDefaultArgumentsForDocker
(org.openqa.selenium.Capabilities options) protected void
arch32()
arch64()
architecture
(Architecture architecture) arm64()
browserVersion
(String browserVersion) browserVersionDetectionCommand
(String browserVersionCommand) capabilities
(org.openqa.selenium.Capabilities capabilities) static WebDriverManager
static WebDriverManager
commandsPropertiesUrl
(URL url) config()
org.openqa.selenium.WebDriver
create()
List<org.openqa.selenium.WebDriver>
create
(int numberOfBrowser) protected org.openqa.selenium.WebDriver
protected org.openqa.selenium.WebDriver
protected UrlHandler
createUrlHandler
(String driverVersion) dockerCustomImage
(String dockerImage) dockerDaemonUrl
(String daemonUrl) dockerDefaultArgs
(String defaultArgs) dockerEnvVariables
(String... defaultEnvs) dockerExtraHosts
(String... hosts) dockerLang
(String lang) dockerNetwork
(String network) dockerPrivateEndpoint
(String endpoint) dockerRecordingFrameRate
(int frameRate) dockerRecordingOutput
(String path) dockerRecordingOutput
(Path path) dockerRecordingPrefix
(String prefix) dockerScreenResolution
(String screenResolution) dockerShmSize
(String size) dockerStopTimeoutSec
(Integer timeout) dockerTimezone
(String timezone) dockerTmpfsMount
(String mount) dockerTmpfsSize
(String size) dockerVolumes
(String... volumes) protected String
driverRepositoryUrl
(URL url) driverVersion
(String driverVersion) static WebDriverManager
protected void
exportDriver
(String variableValue) exportParameter
(DriverManagerType driverManagerType) abstract WebDriverManager
exportParameter
(String exportParameter) protected void
protected Optional<WebDriverBrowser>
findWebDriverBrowser
(org.openqa.selenium.WebDriver driver) static WebDriverManager
protected abstract String
protected Path
protected org.openqa.selenium.Capabilities
protected String
getCurrentVersion
(URL url) getDockerBrowserContainerId
(org.openqa.selenium.WebDriver driver) getDockerNoVncUrl
(org.openqa.selenium.WebDriver driver) getDockerRecordingPath
(org.openqa.selenium.WebDriver driver) getDockerSeleniumServerUrl
(org.openqa.selenium.WebDriver driver) getDockerVncUrl
(org.openqa.selenium.WebDriver driver) protected static WebDriverManager
abstract DriverManagerType
protected abstract String
getDriversFromGitHub
(String driverVersion) getDriversFromMirror
(URL driverUrl, String driverVersion) getDriversFromXml
(URL driverUrl, String xpath, Optional<NamespaceContext> namespaceContext) protected abstract URL
protected URL
getDriverUrls
(String driverVersion) protected abstract String
getDriverVersionFromRepository
(Optional<String> driverVersion) protected String
getDriverVersionLabel
(String driverVersion) protected FilenameFilter
protected HttpClient
static WebDriverManager
static WebDriverManager
getInstance
(DriverManagerType driverManagerType) static WebDriverManager
getInstance
(Class<? extends org.openqa.selenium.WebDriver> webDriverClass) static WebDriverManager
getInstance
(String browserName) protected String
protected String
getLogs()
getLogs
(org.openqa.selenium.WebDriver driver) protected org.openqa.selenium.Capabilities
protected NamespaceContext
protected Object
protected Object
getPropertyFromWebDriverBrowser
(org.openqa.selenium.WebDriver driver, Function<WebDriverBrowser, Object> function) protected ResolutionCache
protected Optional<NamespaceContext>
protected String
getValueFromResolutionCache
(String preferenceKey) protected Charset
protected VersionDetector
org.openqa.selenium.WebDriver
protected WebDriverCreator
List<org.openqa.selenium.WebDriver>
gitHubToken
(String gitHubToken) protected void
handleException
(Exception e, String driverVersion) static WebDriverManager
iedriver()
ignoreDriverVersions
(String... driverVersions) protected void
initBrowserWatcherForChromium
(Path extensionPath, org.openqa.selenium.Capabilities caps) protected org.openqa.selenium.WebDriver
protected boolean
isChrome()
static boolean
static boolean
static boolean
protected boolean
protected boolean
protected boolean
linux()
static Document
loadXML
(InputStream inputStream) protected static void
logCliError
(String browserForResolving, String browserForDocker, int port) protected void
logSeekRepo
(URL driverUrl) mac()
static void
protected void
protected InputStream
openGitHubConnection
(URL driverUrl) static WebDriverManager
postDownload
(File archive) properties
(String properties) void
quit()
protected void
quit
(WebDriverBrowser driverBrowser) void
quit
(org.openqa.selenium.WebDriver driver) remoteAddress
(String remoteAddress) remoteAddress
(URL remoteAddress) void
reset()
resolutionCachePath
(String resolutionCachePath) protected String
resolveDriverVersion
(String driverVersion) protected static void
resolveLocal
(String[] args, String validBrowsers) protected static void
runInDocker
(String[] args, String validBrowsers) static WebDriverManager
protected abstract void
setBrowserVersion
(String browserVersion) protected abstract void
setDriverUrl
(URL url) protected abstract void
setDriverVersion
(String driverVersion) void
setup()
void
void
startRecording
(String recordingName) void
startRecording
(org.openqa.selenium.WebDriver driver) void
startRecording
(org.openqa.selenium.WebDriver driver, String recordingName) protected static void
startServer
(String[] args, int port) void
protected void
stopDockerRecording
(WebDriverBrowser driverBrowser) void
stopDockerRecording
(org.openqa.selenium.WebDriver driver) void
void
stopRecording
(org.openqa.selenium.WebDriver driver) protected void
storeInResolutionCache
(String preferenceKey, String resolvedDriverVersion, String resolvedBrowserVersion) timeout
(int timeout) ttl
(int seconds) ttlBrowsers
(int seconds) protected boolean
protected boolean
viewOnly()
protected static WebDriverManager
watch()
win()
static Path
-
Field Details
-
log
protected static final org.slf4j.Logger log -
SLASH
- See Also:
-
DASH
- See Also:
-
LATEST_RELEASE
- See Also:
-
CFT_LABEL
- See Also:
-
S3_NAMESPACE_CONTEXT
-
IN_DOCKER
- See Also:
-
CLI_SERVER
- See Also:
-
CLI_RESOLVER
- See Also:
-
CLI_DOCKER
- See Also:
-
BROWSER_WATCHER_ID
- See Also:
-
config
-
httpClient
-
downloader
-
resolutionCache
-
cacheHandler
-
versionDetector
-
webDriverCreator
-
dockerService
-
retryCount
protected int retryCount -
capabilities
protected org.openqa.selenium.Capabilities capabilities -
shutdownHook
protected boolean shutdownHook -
dockerEnabled
protected boolean dockerEnabled -
androidEnabled
protected boolean androidEnabled -
watchEnabled
protected boolean watchEnabled -
displayEnabled
protected boolean displayEnabled -
disableCsp
protected boolean disableCsp -
isHeadless
protected boolean isHeadless -
webDriverList
-
resolvedBrowserVersion
-
downloadedDriverVersion
-
downloadedDriverPath
-
-
Constructor Details
-
WebDriverManager
protected WebDriverManager()
-
-
Method Details
-
getDriverUrls
- Throws:
IOException
-
getDriverName
-
getDriverVersion
-
setDriverVersion
-
getBrowserVersion
-
setBrowserVersion
-
setDriverUrl
-
getDriverUrl
-
getMirrorUrl
-
getExportParameter
-
getDriverManagerType
-
exportParameter
-
config
-
chromedriver
-
chromiumdriver
-
firefoxdriver
-
operadriver
-
edgedriver
-
iedriver
-
safaridriver
-
voiddriver
-
getInstance
-
getInstance
-
getInstance
public static WebDriverManager getInstance(Class<? extends org.openqa.selenium.WebDriver> webDriverClass) -
getDriver
-
getInstance
-
zipFolder
-
isDockerAvailable
public static boolean isDockerAvailable() -
isOnline
-
isOnline
-
setup
public void setup() -
create
public org.openqa.selenium.WebDriver create() -
create
-
getBrowserPath
-
browserInDocker
-
isUsingDocker
protected boolean isUsingDocker() -
browserInDockerAndroid
-
dockerEnvVariables
-
dockerDefaultArgs
-
dockerDaemonUrl
-
dockerNetwork
-
dockerNetworkHost
-
dockerTimezone
-
dockerLang
-
dockerShmSize
-
dockerTmpfsSize
-
dockerTmpfsMount
-
dockerVolumes
-
dockerExtraHosts
-
dockerScreenResolution
-
dockerRecordingFrameRate
-
dockerAvoidPulling
-
avoidDockerLocalFallback
-
avoidShutdownHook
-
avoidExternalConnections
-
enableVnc
-
viewOnly
-
enableRecording
-
disableTracing
-
dockerRecordingPrefix
-
dockerRecordingOutput
-
dockerRecordingOutput
-
dockerPrivateEndpoint
-
dockerStopTimeoutSec
-
watch
-
watchAndDisplay
-
disableCsp
-
capabilities
-
remoteAddress
-
remoteAddress
-
dockerCustomImage
-
driverVersion
-
browserVersion
-
architecture
-
arch32
-
arch64
-
arm64
-
win
-
linux
-
mac
-
operatingSystem
-
forceDownload
-
driverRepositoryUrl
-
useMirror
-
proxy
-
proxyUser
-
proxyPass
-
useBetaVersions
-
ignoreDriverVersions
-
gitHubToken
-
timeout
-
properties
-
cachePath
-
resolutionCachePath
-
avoidExport
-
avoidOutputTree
-
avoidBrowserDetection
-
avoidResolutionCache
-
avoidFallback
-
avoidTmpFolder
-
avoidUseChromiumDriverSnap
-
ttl
-
ttlBrowsers
-
browserVersionDetectionCommand
-
useLocalCommandsPropertiesFirst
-
commandsPropertiesUrl
-
clearResolutionCache
-
clearDriverCache
-
browserVersionDetectionRegex
-
reset
public void reset() -
getDownloadedDriverPath
-
getDownloadedDriverVersion
-
getDriverVersions
-
getWebDriver
public org.openqa.selenium.WebDriver getWebDriver() -
getWebDriverList
-
quit
public void quit() -
quit
public void quit(org.openqa.selenium.WebDriver driver) -
stopDockerRecording
public void stopDockerRecording() -
stopDockerRecording
public void stopDockerRecording(org.openqa.selenium.WebDriver driver) -
stopDockerRecording
-
quit
-
getDockerBrowserContainerId
-
getDockerBrowserContainerId
-
getDockerSeleniumServerUrl
-
getDockerSeleniumServerUrl
-
getDockerNoVncUrl
-
getDockerNoVncUrl
-
getDockerVncUrl
-
getDockerVncUrl
-
getDockerRecordingPath
-
getDockerRecordingPath
-
startRecording
public void startRecording(org.openqa.selenium.WebDriver driver) -
startRecording
public void startRecording() -
startRecording
-
startRecording
-
stopRecording
public void stopRecording(org.openqa.selenium.WebDriver driver) -
stopRecording
public void stopRecording() -
getLogs
-
getLogs
-
getDockerService
-
exportParameter
-
getPropertyFromWebDriverBrowser
protected Object getPropertyFromWebDriverBrowser(org.openqa.selenium.WebDriver driver, Function<WebDriverBrowser, Object> function) -
findWebDriverBrowser
-
getPropertyFromFirstWebDriverBrowser
-
manage
-
resolveDriverVersion
-
download
- Throws:
IOException
-
exportDriver
-
storeInResolutionCache
-
getValueFromResolutionCache
-
postDownload
-
getBrowserVersionFromTheShell
-
detectBrowserVersion
-
useResolutionCacheWithKey
-
useResolutionCache
protected boolean useResolutionCache() -
isUnknown
-
isUseMirror
protected boolean isUseMirror() -
isChrome
protected boolean isChrome() -
getCurrentVersion
-
handleException
-
fallback
-
createUrlHandler
- Throws:
IOException
-
getDriversFromMirror
- Throws:
IOException
-
getNamespaceContext
-
getS3NamespaceContext
-
getDriversFromXml
protected List<URL> getDriversFromXml(URL driverUrl, String xpath, Optional<NamespaceContext> namespaceContext) throws IOException - Throws:
IOException
-
logSeekRepo
-
loadXML
public static Document loadXML(InputStream inputStream) throws SAXException, IOException, ParserConfigurationException -
openGitHubConnection
- Throws:
IOException
-
getDriversFromGitHub
- Throws:
IOException
-
getHttpClient
-
getResolutionCache
-
getVersionDetector
-
getWebDriverCreator
-
getFolderFilter
-
getVersionCharset
-
getLatestVersionLabel
-
getOsLabel
-
getDriverVersionFromRepository
-
getDriverUrlCkeckingMirror
-
getLatestDriverVersionFromRepository
-
getShortDriverName
-
getKeyForResolutionCache
-
getDriverVersionLabel
-
buildUrl
-
instantiateDriver
protected org.openqa.selenium.WebDriver instantiateDriver() -
initBrowserWatcherForChromium
protected void initBrowserWatcherForChromium(Path extensionPath, org.openqa.selenium.Capabilities caps) -
getBrowserWatcherAsPath
- Throws:
IOException
-
getMergedCapabilities
protected org.openqa.selenium.Capabilities getMergedCapabilities() -
addShutdownHookIfRequired
protected void addShutdownHookIfRequired() -
createDockerWebDriver
protected org.openqa.selenium.WebDriver createDockerWebDriver() -
createLocalWebDriver
protected org.openqa.selenium.WebDriver createLocalWebDriver() throws ClassNotFoundException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException -
getCapabilities
protected org.openqa.selenium.Capabilities getCapabilities() -
addDefaultArgumentsForDocker
protected void addDefaultArgumentsForDocker(org.openqa.selenium.Capabilities options) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException -
logCliError
-
resolveLocal
-
runInDocker
-
startServer
-
main
-