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.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:
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.openqa.selenium.remote.RemoteWebDriver
org.openqa.selenium.remote.RemoteWebDriver.RemoteTargetLocator, org.openqa.selenium.remote.RemoteWebDriver.RemoteWebDriverOptions, org.openqa.selenium.remote.RemoteWebDriver.WhenNested classes/interfaces inherited from interface org.openqa.selenium.HasDownloads
org.openqa.selenium.HasDownloads.DownloadedFileNested classes/interfaces inherited from interface org.openqa.selenium.WebDriver
org.openqa.selenium.WebDriver.Navigation, org.openqa.selenium.WebDriver.Options, org.openqa.selenium.WebDriver.TargetLocator, org.openqa.selenium.WebDriver.Timeouts, org.openqa.selenium.WebDriver.Window -
Field Summary
Fields inherited from class org.openqa.selenium.remote.RemoteWebDriver
capabilitiesFields inherited from interface io.appium.java_client.HasBrowserCheck
NATIVE_CONTEXT -
Constructor Summary
ConstructorsConstructorDescriptionAndroidDriver(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(URL remoteSessionAddress, String automationName) This is a special constructor used to connect to a running driver instance.AndroidDriver(URL remoteAddress, org.openqa.selenium.Capabilities capabilities) Creates a new instance based on Appium server URL andcapabilities.AndroidDriver(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 commandexecutorandcapabilities. -
Method Summary
Modifier and TypeMethodDescriptionRetrieves battery info from the device under test.Methods inherited from class io.appium.java_client.AppiumDriver
addCommand, assertExtensionExists, ensureAutomationName, ensurePlatformAndAutomationNames, ensurePlatformName, execute, execute, getBiDi, getExecuteMethod, getHttpClient, getScreenshotAs, getStatus, markExtensionAbsence, maybeGetBiDi, startSessionMethods inherited from class org.openqa.selenium.remote.RemoteWebDriver
addVirtualAuthenticator, builder, close, deleteDownloadableFiles, downloadFile, execute, executeAsyncScript, executeScript, findElement, findElements, findElements, fireSessionEvent, fireSessionEvent, get, getCapabilities, getClientConfig, getCommandExecutor, getCurrentUrl, getDownloadableFiles, getDownloadedFiles, 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.appium.java_client.android.AuthenticatesByFinger
fingerPrintMethods inherited from interface io.appium.java_client.screenrecording.CanRecordScreen
startRecordingScreen, startRecordingScreen, stopRecordingScreen, stopRecordingScreenMethods inherited from interface io.appium.java_client.CanRememberExtensionPresence
assertExtensionExists, markExtensionAbsenceMethods inherited from interface io.appium.java_client.android.CanReplaceElementValue
replaceElementValueMethods inherited from interface io.appium.java_client.ComparesImages
findImageOccurrence, findImageOccurrence, findImageOccurrence, findImageOccurrence, getImagesSimilarity, getImagesSimilarity, getImagesSimilarity, getImagesSimilarity, matchImagesFeatures, matchImagesFeatures, matchImagesFeatures, matchImagesFeaturesMethods inherited from interface io.appium.java_client.ExecuteCDPCommand
executeCdpCommand, executeCdpCommandMethods inherited from interface io.appium.java_client.ExecutesDriverScript
executeDriverScript, executeDriverScriptMethods inherited from interface io.appium.java_client.ExecutesMethod
execute, executeMethods inherited from interface io.appium.java_client.android.HasAndroidClipboard
setClipboard, setClipboardTextMethods inherited from interface io.appium.java_client.android.HasAndroidDeviceDetails
getDisplayDensity, getSystemBarsMethods inherited from interface io.appium.java_client.android.HasAndroidSettings
allowInvisibleElements, configuratorSetActionAcknowledgmentTimeout, configuratorSetKeyInjectionDelay, configuratorSetScrollAcknowledgmentTimeout, configuratorSetWaitForIdleTimeout, configuratorSetWaitForSelectorTimeout, enableNotificationListener, ignoreUnimportantViews, normalizeTagNames, setElementResponseAttributes, setShouldUseCompactResponses, setTrackScrollEvents, shutdownOnPowerDisconnectMethods inherited from interface io.appium.java_client.HasAppStrings
getAppStringMap, getAppStringMap, getAppStringMapMethods inherited from interface io.appium.java_client.HasBrowserCheck
isBrowserMethods inherited from interface org.openqa.selenium.HasCapabilities
getCapabilitiesMethods inherited from interface io.appium.java_client.clipboard.HasClipboard
getClipboard, getClipboardText, setClipboard, setClipboardTextMethods inherited from interface io.appium.java_client.HasDeviceTime
getDeviceTime, getDeviceTimeMethods inherited from interface org.openqa.selenium.HasDownloads
requireDownloadsEnabledMethods inherited from interface io.appium.java_client.android.connection.HasNetworkConnection
getConnection, setConnectionMethods inherited from interface io.appium.java_client.android.HasNotifications
openNotificationsMethods inherited from interface io.appium.java_client.HasOnScreenKeyboard
isKeyboardShownMethods inherited from interface io.appium.java_client.HasSettings
getSettings, setSetting, setSetting, setSettings, setSettingsMethods inherited from interface io.appium.java_client.android.HasSupportedPerformanceDataType
getPerformanceData, getSupportedPerformanceDataTypesMethods inherited from interface io.appium.java_client.HidesKeyboard
hideKeyboardMethods inherited from interface io.appium.java_client.InteractsWithApps
activateApp, activateApp, installApp, installApp, isAppInstalled, queryAppState, removeApp, removeApp, runAppInBackground, terminateApp, terminateAppMethods inherited from interface org.openqa.selenium.JavascriptExecutor
executeScript, getPinnedScripts, pin, unpinMethods inherited from interface io.appium.java_client.android.ListensToLogcatMessages
addLogcatConnectionListener, addLogcatDisconnectionListener, addLogcatErrorsListener, addLogcatMessagesListener, removeAllLogcatListeners, startLogcatBroadcast, startLogcatBroadcast, startLogcatBroadcast, stopLogcatBroadcastMethods inherited from interface io.appium.java_client.LocksDevice
isDeviceLocked, lockDevice, lockDevice, unlockDeviceMethods inherited from interface io.appium.java_client.LogsEvents
getEvents, logEventMethods inherited from interface io.appium.java_client.PerformsTouchActions
performMultiTouchAction, performTouchActionMethods inherited from interface io.appium.java_client.android.nativekey.PressesKey
longPressKey, pressKeyMethods inherited from interface io.appium.java_client.PullsFiles
pullFile, pullFolderMethods inherited from interface io.appium.java_client.PushesFiles
pushFile, pushFileMethods inherited from interface io.appium.java_client.android.StartsActivity
currentActivity, getCurrentPackageMethods inherited from interface io.appium.java_client.remote.SupportsContextSwitching
context, getContext, getContextHandlesMethods inherited from interface io.appium.java_client.android.geolocation.SupportsExtendedGeolocationCommands
setLocationMethods inherited from interface io.appium.java_client.android.SupportsGpsStateManagement
isLocationServicesEnabled, toggleLocationServicesMethods inherited from interface io.appium.java_client.remote.SupportsLocation
getLocation, setLocationMethods inherited from interface io.appium.java_client.android.SupportsNetworkStateManagement
toggleAirplaneMode, toggleData, toggleWifiMethods inherited from interface io.appium.java_client.remote.SupportsRotation
getOrientation, rotate, rotate, rotationMethods inherited from interface io.appium.java_client.android.SupportsSpecialEmulatorCommands
makeGsmCall, sendSMS, setGsmSignalStrength, setGsmVoice, setNetworkSpeed, setPowerAC, setPowerCapacityMethods inherited from interface org.openqa.selenium.WebDriver
close, findElement, findElements, get, getCurrentUrl, getPageSource, getTitle, getWindowHandle, getWindowHandles, manage, navigate, quit, switchTo
-
Constructor Details
-
AndroidDriver
public AndroidDriver(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
-
AndroidDriver
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(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.Factorycapabilities- 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 atAppiumDriverLocalServicecapabilities- 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 atAppiumDriverLocalServicehttpClientFactory- take a look atHttpClient.Factorycapabilities- take a look atCapabilities
-
AndroidDriver
Creates a new instance based on Appium service builder andcapabilities.- Parameters:
builder- take a look atAppiumServiceBuildercapabilities- 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 atAppiumServiceBuilderhttpClientFactory- take a look atHttpClient.Factorycapabilities- 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.Factorycapabilities- 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 atClientConfigcapabilities- 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 atAppiumClientConfigcapabilities- 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
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 Details
-
getBatteryInfo
Description copied from interface:HasBatteryRetrieves battery info from the device under test.- Specified by:
getBatteryInfoin interfaceHasBattery<AndroidBatteryInfo>- Returns:
- BatteryInfo instance, containing the battery information
-
getLogcatClient
- Specified by:
getLogcatClientin interfaceListensToLogcatMessages
-