Package io.appium.java_client
Class AppiumDriver
- java.lang.Object
-
- org.openqa.selenium.remote.RemoteWebDriver
-
- io.appium.java_client.AppiumDriver
-
- All Implemented Interfaces:
CanRememberExtensionPresence,ComparesImages,ExecutesDriverScript,ExecutesMethod,HasBrowserCheck,HasSettings,LogsEvents,org.openqa.selenium.bidi.HasBiDi,org.openqa.selenium.federatedcredentialmanagement.HasFederatedCredentialManagement,org.openqa.selenium.HasCapabilities,org.openqa.selenium.HasDownloads,org.openqa.selenium.interactions.Interactive,org.openqa.selenium.JavascriptExecutor,org.openqa.selenium.PrintsPage,org.openqa.selenium.SearchContext,org.openqa.selenium.TakesScreenshot,org.openqa.selenium.virtualauthenticator.HasVirtualAuthenticator,org.openqa.selenium.WebDriver
- Direct Known Subclasses:
AndroidDriver,ChromiumDriver,GeckoDriver,IOSDriver,Mac2Driver,SafariDriver,WindowsDriver
public class AppiumDriver extends org.openqa.selenium.remote.RemoteWebDriver implements ExecutesMethod, ComparesImages, ExecutesDriverScript, LogsEvents, HasBrowserCheck, CanRememberExtensionPresence, HasSettings, org.openqa.selenium.bidi.HasBiDi
Default Appium driver implementation.
-
-
Field Summary
-
Fields inherited from interface io.appium.java_client.HasBrowserCheck
NATIVE_CONTEXT
-
-
Constructor Summary
Constructors Constructor Description AppiumDriver(AppiumClientConfig clientConfig, org.openqa.selenium.Capabilities capabilities)AppiumDriver(AppiumDriverLocalService service, org.openqa.selenium.Capabilities capabilities)AppiumDriver(AppiumDriverLocalService service, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)AppiumDriver(AppiumServiceBuilder builder, org.openqa.selenium.Capabilities capabilities)AppiumDriver(AppiumServiceBuilder builder, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)AppiumDriver(java.net.URL remoteSessionAddress, java.lang.String platformName, java.lang.String automationName)This is a special constructor used to connect to a running driver instance.AppiumDriver(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities)AppiumDriver(java.net.URL remoteAddress, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)AppiumDriver(org.openqa.selenium.Capabilities capabilities)AppiumDriver(org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)AppiumDriver(org.openqa.selenium.remote.HttpCommandExecutor executor, org.openqa.selenium.Capabilities capabilities)Creates a new instance based on commandexecutorandcapabilities.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCommand(org.openqa.selenium.remote.http.HttpMethod httpMethod, java.lang.String url, java.lang.String methodName)This method is used to add custom appium commands in Appium 2.0.AppiumDriverassertExtensionExists(java.lang.String extName)Verifies if the given extension is not present in the list of absent extensions for the given driver instance.protected static org.openqa.selenium.CapabilitiesensureAutomationName(org.openqa.selenium.Capabilities originalCapabilities, java.lang.String defaultName)Changes automation name if it is not set and returns merged capabilities.protected static org.openqa.selenium.CapabilitiesensurePlatformAndAutomationNames(org.openqa.selenium.Capabilities originalCapabilities, java.lang.String defaultPlatformName, java.lang.String defaultAutomationName)Changes platform and automation names if they are not set and returns merged capabilities.protected static org.openqa.selenium.CapabilitiesensurePlatformName(org.openqa.selenium.Capabilities originalCapabilities, java.lang.String defaultName)Changes platform name if it is not set and returns merged capabilities.org.openqa.selenium.remote.Responseexecute(java.lang.String command)Executes the given command and returns a response.org.openqa.selenium.remote.Responseexecute(java.lang.String driverCommand, java.util.Map<java.lang.String,?> parameters)Executes the given command and returns a response.@NonNull org.openqa.selenium.bidi.BiDigetBiDi()org.openqa.selenium.remote.ExecuteMethodgetExecuteMethod()protected org.openqa.selenium.remote.http.HttpClientgetHttpClient()<X> XgetScreenshotAs(org.openqa.selenium.OutputType<X> outputType)java.util.Map<java.lang.String,java.lang.Object>getStatus()This method is used to get build version status of running Appium server.AppiumDrivermarkExtensionAbsence(java.lang.String extName)Marks the given extension as absent for the given driver instance.java.util.Optional<org.openqa.selenium.bidi.BiDi>maybeGetBiDi()protected voidstartSession(org.openqa.selenium.Capabilities requestCapabilities)-
Methods inherited from class org.openqa.selenium.remote.RemoteWebDriver
addVirtualAuthenticator, builder, close, deleteDownloadableFiles, downloadFile, execute, executeAsyncScript, executeScript, findElement, findElements, findElements, get, getCapabilities, getCommandExecutor, getCurrentUrl, getDownloadableFiles, getElementConverter, getErrorHandler, getFederatedCredentialManagementDialog, getFileDetector, getPageSource, getSessionId, getTitle, getWindowHandle, getWindowHandles, isDownloadsEnabled, log, manage, navigate, network, perform, print, quit, removeVirtualAuthenticator, resetCooldown, resetInputState, script, setCommandExecutor, setDelayEnabled, setElementConverter, setErrorHandler, setFileDetector, setFoundBy, setLogLevel, setSessionId, switchTo, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.appium.java_client.ComparesImages
findImageOccurrence, findImageOccurrence, findImageOccurrence, findImageOccurrence, getImagesSimilarity, getImagesSimilarity, getImagesSimilarity, getImagesSimilarity, matchImagesFeatures, matchImagesFeatures, matchImagesFeatures, matchImagesFeatures
-
Methods inherited from interface io.appium.java_client.ExecutesDriverScript
executeDriverScript, executeDriverScript
-
Methods inherited from interface io.appium.java_client.HasBrowserCheck
isBrowser
-
Methods inherited from interface io.appium.java_client.HasSettings
getSettings, setSetting, setSetting, setSettings, setSettings
-
Methods inherited from interface org.openqa.selenium.JavascriptExecutor
executeScript, getPinnedScripts, pin, unpin
-
Methods inherited from interface io.appium.java_client.LogsEvents
getEvents, logEvent
-
-
-
-
Constructor Detail
-
AppiumDriver
public AppiumDriver(org.openqa.selenium.remote.HttpCommandExecutor executor, org.openqa.selenium.Capabilities capabilities)Creates a new instance based on commandexecutorandcapabilities.- Parameters:
executor- is an instance ofHttpCommandExecutoror class that extends it. Default commands or another vendor-specific commands may be specified there.capabilities- take a look atCapabilities
-
AppiumDriver
public AppiumDriver(AppiumClientConfig clientConfig, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(java.net.URL remoteAddress, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(AppiumDriverLocalService service, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(AppiumDriverLocalService service, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(AppiumServiceBuilder builder, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(AppiumServiceBuilder builder, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(org.openqa.selenium.Capabilities capabilities)
-
AppiumDriver
public AppiumDriver(java.net.URL remoteSessionAddress, java.lang.String platformName, java.lang.String automationName)This is a special constructor used to connect to a running driver instance. It does not do any necessary verifications, but rather assumes the given driver session is already running at `remoteSessionAddress`. The maintenance of driver state(s) is the caller's responsibility. !!! This API is supposed to be used for **debugging purposes only**.- Parameters:
remoteSessionAddress- The address of the **running** session including the session identifier.platformName- The name of the target platform.automationName- The name of the target automation.
-
-
Method Detail
-
getExecuteMethod
public org.openqa.selenium.remote.ExecuteMethod getExecuteMethod()
- Overrides:
getExecuteMethodin classorg.openqa.selenium.remote.RemoteWebDriver
-
getStatus
public java.util.Map<java.lang.String,java.lang.Object> getStatus()
This method is used to get build version status of running Appium server.- Returns:
- map containing version details
-
addCommand
public void addCommand(org.openqa.selenium.remote.http.HttpMethod httpMethod, java.lang.String url, java.lang.String methodName)This method is used to add custom appium commands in Appium 2.0.- Parameters:
httpMethod- the availableHttpMethod.url- The url to URL template as https://www.w3.org/TR/webdriver/#endpoints.methodName- The name of custom appium command.
-
execute
public org.openqa.selenium.remote.Response execute(java.lang.String driverCommand, java.util.Map<java.lang.String,?> parameters)Description copied from interface:ExecutesMethodExecutes the given command and returns a response.- Specified by:
executein interfaceExecutesMethod- Overrides:
executein classorg.openqa.selenium.remote.RemoteWebDriver- Parameters:
driverCommand- a command to executeparameters- map of command parameters- Returns:
- a result response
-
execute
public org.openqa.selenium.remote.Response execute(java.lang.String command)
Description copied from interface:ExecutesMethodExecutes the given command and returns a response.- Specified by:
executein interfaceExecutesMethod- Overrides:
executein classorg.openqa.selenium.remote.RemoteWebDriver- Parameters:
command- a command to execute- Returns:
- a result response
-
getScreenshotAs
public <X> X getScreenshotAs(org.openqa.selenium.OutputType<X> outputType)
- Specified by:
getScreenshotAsin interfaceorg.openqa.selenium.TakesScreenshot- Overrides:
getScreenshotAsin classorg.openqa.selenium.remote.RemoteWebDriver
-
assertExtensionExists
public AppiumDriver assertExtensionExists(java.lang.String extName)
Description copied from interface:CanRememberExtensionPresenceVerifies if the given extension is not present in the list of absent extensions for the given driver instance. This API is designed for private usage.- Specified by:
assertExtensionExistsin interfaceCanRememberExtensionPresence- Parameters:
extName- extension name.- Returns:
- self instance for chaining.
-
markExtensionAbsence
public AppiumDriver markExtensionAbsence(java.lang.String extName)
Description copied from interface:CanRememberExtensionPresenceMarks the given extension as absent for the given driver instance. This API is designed for private usage.- Specified by:
markExtensionAbsencein interfaceCanRememberExtensionPresence- Parameters:
extName- extension name.- Returns:
- self instance for chaining.
-
maybeGetBiDi
public java.util.Optional<org.openqa.selenium.bidi.BiDi> maybeGetBiDi()
- Specified by:
maybeGetBiDiin interfaceorg.openqa.selenium.bidi.HasBiDi
-
getBiDi
public @NonNull org.openqa.selenium.bidi.BiDi getBiDi()
- Specified by:
getBiDiin interfaceorg.openqa.selenium.bidi.HasBiDi
-
getHttpClient
protected org.openqa.selenium.remote.http.HttpClient getHttpClient()
-
startSession
protected void startSession(org.openqa.selenium.Capabilities requestCapabilities)
- Overrides:
startSessionin classorg.openqa.selenium.remote.RemoteWebDriver
-
ensurePlatformName
protected static org.openqa.selenium.Capabilities ensurePlatformName(org.openqa.selenium.Capabilities originalCapabilities, java.lang.String defaultName)Changes platform name if it is not set and returns merged capabilities.- Parameters:
originalCapabilities- the givenCapabilities.defaultName- a platformName value which has to be set up- Returns:
Capabilitieswith changed platform name value or the original capabilities
-
ensureAutomationName
protected static org.openqa.selenium.Capabilities ensureAutomationName(org.openqa.selenium.Capabilities originalCapabilities, java.lang.String defaultName)Changes automation name if it is not set and returns merged capabilities.- Parameters:
originalCapabilities- the givenCapabilities.defaultName- a platformName value which has to be set up- Returns:
Capabilitieswith changed mobile automation name value or the original capabilities
-
ensurePlatformAndAutomationNames
protected static org.openqa.selenium.Capabilities ensurePlatformAndAutomationNames(org.openqa.selenium.Capabilities originalCapabilities, java.lang.String defaultPlatformName, java.lang.String defaultAutomationName)Changes platform and automation names if they are not set and returns merged capabilities.- Parameters:
originalCapabilities- the givenCapabilities.defaultPlatformName- a platformName value which has to be set updefaultAutomationName- The default automation name to set up for this class- Returns:
Capabilitieswith changed platform/automation name value or the original capabilities
-
-