Package io.appium.java_client.android
Class AndroidDriver
- java.lang.Object
-
- org.openqa.selenium.remote.RemoteWebDriver
-
- io.appium.java_client.AppiumDriver
-
- io.appium.java_client.android.AndroidDriver
-
- All Implemented Interfaces:
AuthenticatesByFinger
,CanReplaceElementValue
,HasNetworkConnection
,SupportsExtendedGeolocationCommands
,HasAndroidClipboard
,HasAndroidDeviceDetails
,HasAndroidSettings
,HasNotifications
,HasSupportedPerformanceDataType
,ListensToLogcatMessages
,PressesKey
,StartsActivity
,SupportsGpsStateManagement
,SupportsNetworkStateManagement
,SupportsSpecialEmulatorCommands
,HasBattery<AndroidBatteryInfo>
,CanRememberExtensionPresence
,HasClipboard
,ComparesImages
,ExecuteCDPCommand
,ExecutesDriverScript
,ExecutesMethod
,HasAppStrings
,HasBrowserCheck
,HasDeviceTime
,HasOnScreenKeyboard
,HasSettings
,HidesKeyboard
,InteractsWithApps
,LocksDevice
,LogsEvents
,PerformsTouchActions
,PullsFiles
,PushesFiles
,SupportsContextSwitching
,SupportsLocation
,SupportsRotation
,CanRecordScreen
,org.openqa.selenium.bidi.HasBiDi
,org.openqa.selenium.ContextAware
,org.openqa.selenium.federatedcredentialmanagement.HasFederatedCredentialManagement
,org.openqa.selenium.HasCapabilities
,org.openqa.selenium.HasDownloads
,org.openqa.selenium.html5.LocationContext
,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:
FlutterAndroidDriver
public class AndroidDriver extends AppiumDriver implements PressesKey, SupportsRotation, SupportsContextSwitching, SupportsLocation, PerformsTouchActions, HidesKeyboard, HasDeviceTime, PullsFiles, InteractsWithApps, HasAppStrings, HasNetworkConnection, PushesFiles, StartsActivity, LocksDevice, HasAndroidSettings, HasAndroidDeviceDetails, HasSupportedPerformanceDataType, AuthenticatesByFinger, HasOnScreenKeyboard, CanRecordScreen, SupportsSpecialEmulatorCommands, SupportsNetworkStateManagement, ListensToLogcatMessages, HasAndroidClipboard, HasBattery<AndroidBatteryInfo>, ExecuteCDPCommand, CanReplaceElementValue, SupportsGpsStateManagement, HasNotifications, SupportsExtendedGeolocationCommands
Android driver implementation.
-
-
Field Summary
-
Fields inherited from class io.appium.java_client.AppiumDriver
locationContext
-
Fields inherited from interface io.appium.java_client.HasBrowserCheck
NATIVE_CONTEXT
-
-
Constructor Summary
Constructors Constructor Description AndroidDriver(AppiumClientConfig appiumClientConfig, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on the given ClientConfig andcapabilities
.AndroidDriver(AppiumDriverLocalService service, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium driver local service andcapabilities
.AndroidDriver(AppiumDriverLocalService service, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium driver local service, HTTP client factory andcapabilities
.AndroidDriver(AppiumServiceBuilder builder, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium service builder andcapabilities
.AndroidDriver(AppiumServiceBuilder builder, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium service builder, HTTP client factory andcapabilities
.AndroidDriver(java.net.URL remoteSessionAddress, java.lang.String automationName)
This is a special constructor used to connect to a running driver instance.AndroidDriver(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium server URL andcapabilities
.AndroidDriver(java.net.URL remoteAddress, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium server URL, HTTP client factory andcapabilities
.AndroidDriver(org.openqa.selenium.Capabilities capabilities)
Creates a new instance based oncapabilities
.AndroidDriver(org.openqa.selenium.remote.http.ClientConfig clientConfig, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on the given ClientConfig andcapabilities
.AndroidDriver(org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on HTTP client factory andcapabilities
.AndroidDriver(org.openqa.selenium.remote.HttpCommandExecutor executor, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on commandexecutor
andcapabilities
.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AndroidBatteryInfo
getBatteryInfo()
Retrieves battery info from the device under test.org.openqa.selenium.remote.html5.RemoteLocationContext
getLocationContext()
Deprecated, for removal: This API element is subject to removal in a future version.This method,LocationContext
andRemoteLocationContext
interface are deprecated, useSupportsLocation.getLocation()
andSupportsLocation.setLocation(io.appium.java_client.Location)
instead.StringWebSocketClient
getLogcatClient()
-
Methods inherited from class io.appium.java_client.AppiumDriver
addCommand, assertExtensionExists, ensureAutomationName, ensurePlatformAndAutomationNames, ensurePlatformName, execute, execute, getBiDi, getExecuteMethod, getHttpClient, getScreenshotAs, getStatus, markExtensionAbsence, maybeGetBiDi, startSession
-
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, 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.android.AuthenticatesByFinger
fingerPrint
-
Methods inherited from interface io.appium.java_client.screenrecording.CanRecordScreen
startRecordingScreen, startRecordingScreen, stopRecordingScreen, stopRecordingScreen
-
Methods inherited from interface io.appium.java_client.CanRememberExtensionPresence
assertExtensionExists, markExtensionAbsence
-
Methods inherited from interface io.appium.java_client.android.CanReplaceElementValue
replaceElementValue
-
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.ExecuteCDPCommand
executeCdpCommand, executeCdpCommand
-
Methods inherited from interface io.appium.java_client.ExecutesDriverScript
executeDriverScript, executeDriverScript
-
Methods inherited from interface io.appium.java_client.ExecutesMethod
execute, execute
-
Methods inherited from interface io.appium.java_client.android.HasAndroidClipboard
setClipboard, setClipboardText
-
Methods inherited from interface io.appium.java_client.android.HasAndroidDeviceDetails
getDisplayDensity, getSystemBars
-
Methods inherited from interface io.appium.java_client.android.HasAndroidSettings
allowInvisibleElements, configuratorSetActionAcknowledgmentTimeout, configuratorSetKeyInjectionDelay, configuratorSetScrollAcknowledgmentTimeout, configuratorSetWaitForIdleTimeout, configuratorSetWaitForSelectorTimeout, enableNotificationListener, ignoreUnimportantViews, normalizeTagNames, setElementResponseAttributes, setShouldUseCompactResponses, setTrackScrollEvents, shutdownOnPowerDisconnect
-
Methods inherited from interface io.appium.java_client.HasAppStrings
getAppStringMap, getAppStringMap, getAppStringMap
-
Methods inherited from interface io.appium.java_client.HasBrowserCheck
isBrowser
-
Methods inherited from interface io.appium.java_client.clipboard.HasClipboard
getClipboard, getClipboardText, setClipboard, setClipboardText
-
Methods inherited from interface io.appium.java_client.HasDeviceTime
getDeviceTime, getDeviceTime
-
Methods inherited from interface io.appium.java_client.android.connection.HasNetworkConnection
getConnection, setConnection
-
Methods inherited from interface io.appium.java_client.android.HasNotifications
openNotifications
-
Methods inherited from interface io.appium.java_client.HasOnScreenKeyboard
isKeyboardShown
-
Methods inherited from interface io.appium.java_client.HasSettings
getSettings, setSetting, setSetting, setSettings, setSettings
-
Methods inherited from interface io.appium.java_client.android.HasSupportedPerformanceDataType
getPerformanceData, getSupportedPerformanceDataTypes
-
Methods inherited from interface io.appium.java_client.HidesKeyboard
hideKeyboard
-
Methods inherited from interface io.appium.java_client.InteractsWithApps
activateApp, activateApp, installApp, installApp, isAppInstalled, queryAppState, removeApp, removeApp, runAppInBackground, terminateApp, terminateApp
-
Methods inherited from interface org.openqa.selenium.JavascriptExecutor
executeScript, getPinnedScripts, pin, unpin
-
Methods inherited from interface io.appium.java_client.android.ListensToLogcatMessages
addLogcatConnectionListener, addLogcatDisconnectionListener, addLogcatErrorsListener, addLogcatMessagesListener, removeAllLogcatListeners, startLogcatBroadcast, startLogcatBroadcast, startLogcatBroadcast, stopLogcatBroadcast
-
Methods inherited from interface io.appium.java_client.LocksDevice
isDeviceLocked, lockDevice, lockDevice, unlockDevice
-
Methods inherited from interface io.appium.java_client.LogsEvents
getEvents, logEvent
-
Methods inherited from interface io.appium.java_client.PerformsTouchActions
performMultiTouchAction, performTouchAction
-
Methods inherited from interface io.appium.java_client.android.nativekey.PressesKey
longPressKey, pressKey
-
Methods inherited from interface io.appium.java_client.PullsFiles
pullFile, pullFolder
-
Methods inherited from interface io.appium.java_client.PushesFiles
pushFile, pushFile
-
Methods inherited from interface io.appium.java_client.android.StartsActivity
currentActivity, getCurrentPackage
-
Methods inherited from interface io.appium.java_client.remote.SupportsContextSwitching
context, getContext, getContextHandles
-
Methods inherited from interface io.appium.java_client.android.geolocation.SupportsExtendedGeolocationCommands
setLocation
-
Methods inherited from interface io.appium.java_client.android.SupportsGpsStateManagement
isLocationServicesEnabled, toggleLocationServices
-
Methods inherited from interface io.appium.java_client.remote.SupportsLocation
getLocation, location, setLocation, setLocation
-
Methods inherited from interface io.appium.java_client.android.SupportsNetworkStateManagement
toggleAirplaneMode, toggleData, toggleWifi
-
Methods inherited from interface io.appium.java_client.remote.SupportsRotation
getOrientation, rotate, rotate, rotation
-
Methods inherited from interface io.appium.java_client.android.SupportsSpecialEmulatorCommands
makeGsmCall, sendSMS, setGsmSignalStrength, setGsmVoice, setNetworkSpeed, setPowerAC, setPowerCapacity
-
-
-
-
Constructor Detail
-
AndroidDriver
public AndroidDriver(org.openqa.selenium.remote.HttpCommandExecutor executor, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on commandexecutor
andcapabilities
.- Parameters:
executor
- is an instance ofHttpCommandExecutor
or class that extends it. Default commands or another vendor-specific commands may be specified there.capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium server URL andcapabilities
.- Parameters:
remoteAddress
- is the address of remotely/locally started Appium servercapabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(java.net.URL remoteAddress, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium server URL, HTTP client factory andcapabilities
.- Parameters:
remoteAddress
- is the address of remotely/locally started Appium serverhttpClientFactory
- take a look atHttpClient.Factory
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(AppiumDriverLocalService service, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium driver local service andcapabilities
.- Parameters:
service
- take a look atAppiumDriverLocalService
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(AppiumDriverLocalService service, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium driver local service, HTTP client factory andcapabilities
.- Parameters:
service
- take a look atAppiumDriverLocalService
httpClientFactory
- take a look atHttpClient.Factory
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(AppiumServiceBuilder builder, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium service builder andcapabilities
.- Parameters:
builder
- take a look atAppiumServiceBuilder
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(AppiumServiceBuilder builder, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on Appium service builder, HTTP client factory andcapabilities
.- Parameters:
builder
- take a look atAppiumServiceBuilder
httpClientFactory
- take a look atHttpClient.Factory
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on HTTP client factory andcapabilities
.- Parameters:
httpClientFactory
- take a look atHttpClient.Factory
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(org.openqa.selenium.remote.http.ClientConfig clientConfig, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on the given ClientConfig andcapabilities
. The HTTP client is default client generated byHttpCommandExecutor.getDefaultClientFactory()
. For example:ClientConfig clientConfig = ClientConfig.defaultConfig() .baseUri(URI.create("WebDriver URL")) .readTimeout(Duration.ofMinutes(5)); UiAutomator2Options options = new UiAutomator2Options(); AndroidDriver driver = new AndroidDriver(clientConfig, options);
- Parameters:
clientConfig
- take a look atClientConfig
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(AppiumClientConfig appiumClientConfig, org.openqa.selenium.Capabilities capabilities)
Creates a new instance based on the given ClientConfig andcapabilities
. The HTTP client is default client generated byHttpCommandExecutor.getDefaultClientFactory()
. For example:AppiumClientConfig appiumClientConfig = AppiumClientConfig.defaultConfig() .directConnect(true) .baseUri(URI.create("WebDriver URL")) .readTimeout(Duration.ofMinutes(5)); UiAutomator2Options options = new UiAutomator2Options(); AndroidDriver driver = new AndroidDriver(appiumClientConfig, options);
- Parameters:
appiumClientConfig
- take a look atAppiumClientConfig
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(org.openqa.selenium.Capabilities capabilities)
Creates a new instance based oncapabilities
.- Parameters:
capabilities
- take a look atCapabilities
-
AndroidDriver
public AndroidDriver(java.net.URL remoteSessionAddress, 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.automationName
- The name of the target automation.
-
-
Method Detail
-
getBatteryInfo
public AndroidBatteryInfo getBatteryInfo()
Description copied from interface:HasBattery
Retrieves battery info from the device under test.- Specified by:
getBatteryInfo
in interfaceHasBattery<AndroidBatteryInfo>
- Returns:
- BatteryInfo instance, containing the battery information
-
getLocationContext
@Deprecated(forRemoval=true) public org.openqa.selenium.remote.html5.RemoteLocationContext getLocationContext()
Deprecated, for removal: This API element is subject to removal in a future version.This method,LocationContext
andRemoteLocationContext
interface are deprecated, useSupportsLocation.getLocation()
andSupportsLocation.setLocation(io.appium.java_client.Location)
instead.Provides the location context.- Specified by:
getLocationContext
in interfaceSupportsLocation
- Returns:
- instance of
RemoteLocationContext
-
getLogcatClient
public StringWebSocketClient getLogcatClient()
- Specified by:
getLogcatClient
in interfaceListensToLogcatMessages
-
-