Vigia

Upgrading appium-uiautomator2-driver from 8.x to 9.x

Comparison of the public API of appium-uiautomator2-driver 8.7.3 and 9.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports0
Changed signatures0
Removed class or interface members48
Changed class or interface members140
Newly deprecated0
Requirement changes (engines, peer dependencies)2
New exports0

Removed exports

None detected.

Changed signatures

None detected.

Removed class or interface members

memberimportBefore
default.clickappium-uiautomator2-driverAndroidDriver
default.setUrlappium-uiautomator2-driverAndroidDriver
default.getNameappium-uiautomator2-driverAndroidDriver
default.getSizeappium-uiautomator2-driverAndroidDriver
default.getTextappium-uiautomator2-driverAndroidDriver
default.doSendKeysappium-uiautomator2-driverAndroidDriver
default.driverDataappium-uiautomator2-driver{}
default.getSessionappium-uiautomator2-driver(): Promise<SingularSessionData<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { reado…
default.getLocationappium-uiautomator2-driverAndroidDriver
default.getAttributeappium-uiautomator2-driverAndroidDriver
default.pressKeyCodeappium-uiautomator2-driverAndroidDriver
default.getWindowRectappium-uiautomator2-driverAndroidDriver
default.getWindowSizeappium-uiautomator2-driverAndroidDriver
default.elementEnabledappium-uiautomator2-driverAndroidDriver
default.performActionsappium-uiautomator2-driverAndroidDriver
default.elementSelectedappium-uiautomator2-driverAndroidDriver
default.elementDisplayedappium-uiautomator2-driverAndroidDriver
default.longPressKeyCodeappium-uiautomator2-driverAndroidDriver
default.doSetElementValueappium-uiautomator2-driverAndroidDriver
default.getDisplayDensityappium-uiautomator2-driverAndroidDriver
default.openNotificationsappium-uiautomator2-driverAndroidDriver
default.setValueImmediateappium-uiautomator2-driverAndroidDriver
default.doFindElementOrElsappium-uiautomator2-driverAndroidDriver
default.suspendChromedriverProxyappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.clickappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.setUrlappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getNameappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getSizeappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getTextappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.doSendKeysappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.driverDataappium-uiautomator2-driver{}
AndroidUiautomator2Driver.getSessionappium-uiautomator2-driver(): Promise<SingularSessionData<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { reado…
AndroidUiautomator2Driver.getLocationappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getAttributeappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.pressKeyCodeappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getWindowRectappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getWindowSizeappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.elementEnabledappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.performActionsappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.elementSelectedappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.elementDisplayedappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.longPressKeyCodeappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.doSetElementValueappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.getDisplayDensityappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.openNotificationsappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.setValueImmediateappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.doFindElementOrElsappium-uiautomator2-driverAndroidDriver
AndroidUiautomator2Driver.suspendChromedriverProxyappium-uiautomator2-driverAndroidDriver

Changed class or interface members

memberBeforeAfter
default.back(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.capsDriverCaps<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isString: true; }…DriverCaps<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; }; readonly systemPor…
default.optsDriverOpts<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isString: true; }…DriverOpts<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; }; readonly systemPor…
default.clear(this: AndroidUiautomator2Driver, elementId: string): Promise<void>(elementId: string): Promise<void>
default.active(this: AndroidUiautomator2Driver): Promise<AppiumElement>(): Promise<AppiumElement>
default.initAUT(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.keyevent(this: AndroidUiautomator2Driver, keycode: string | number, metastate?: number | undefined): Promise<void>(keycode: string | number, metastate?: number | undefined): Promise<void>
default.mobileType(this: AndroidUiautomator2Driver, text: string | number | boolean): Promise<boolean>(text: string | number | boolean): Promise<boolean>
default.getAlertText(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.getClipboard(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.mobileScroll(this: AndroidUiautomator2Driver, strategy: string, selector: string, elementId?: any, maxSwipes?: number | undefined): Promise<void>(strategy: string, selector: string, elementId?: any, maxSwipes?: number | undefined): Promise<void>
default.setClipboard(this: AndroidUiautomator2Driver, content: string, contentType?: "plaintext" | undefined, label?: string | undefined): Promise<void>(content: string, contentType?: "plaintext" | undefined, label?: string | undefined): Promise<void>
default.createSession(w3cCaps1: W3CDriverCaps<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isS…(w3cCapabilities: W3CDriverCaps<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; …
default.getPageSource(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.getScreenshot(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.getElementRect(this: AndroidUiautomator2Driver, elementId: string): Promise<Rect>(elementId: string): Promise<Rect>
default.getOrientation(this: AndroidUiautomator2Driver): Promise<Orientation>(): Promise<Orientation>
default.mobileDeepLink(this: AndroidUiautomator2Driver, url: string, pkg?: string | undefined, waitForLaunch?: boolean | undefined): Promise<void>(url: string, pkg?: string | undefined, waitForLaunch?: boolean | undefined): Promise<void>
default.mobilePressKey(this: AndroidUiautomator2Driver, keycode: number, metastate?: number | undefined, flags?: string | undefined, isLongPress?: boolean | undefined, source?: number | undefined): Promise<void>(keycode: number, metastate?: number | undefined, flags?: string | undefined, isLongPress?: boolean | undefined, source?: number | undefined): Promise<void>
default.releaseActions(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.setOrientation(this: AndroidUiautomator2Driver, orientation: Orientation): Promise<void>(orientation: Orientation): Promise<void>
default.checkAppPresent(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.ensureAppStarts(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.getViewPortRect(this: AndroidUiautomator2Driver): Promise<RelativeRect>(): Promise<RelativeRect>
default.postAcceptAlert(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.postDismissAlert(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.mobileAcceptAlert(this: AndroidUiautomator2Driver, buttonLabel?: string | undefined): Promise<void>(buttonLabel?: string | undefined): Promise<void>
default.mobileDragGesture(this: AndroidUiautomator2Driver, elementId?: any, startX?: number | undefined, startY?: number | undefined, endX?: number | undefined, endY?: number | undefined, speed?: number | undefined): Promise<void>(elementId?: any, startX?: number | undefined, startY?: number | undefined, endX?: number | undefined, endY?: number | undefined, speed?: number | undefined): Promise<void>
default.mobileListWindows(this: AndroidUiautomator2Driver, filters?: WindowFilters | undefined, skipScreenshots?: boolean | undefined): Promise<WindowInfo[]>(filters?: WindowFilters | undefined, skipScreenshots?: boolean | undefined): Promise<WindowInfo[]>
default.mobileScreenshots(this: AndroidUiautomator2Driver, displayId?: string | number | undefined): Promise<StringRecord<Screenshot>>(displayId?: string | number | undefined): Promise<StringRecord<Screenshot>>
default.prepareSessionApp(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.releaseSystemPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.allocateSystemPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.getStatusBarHeight(this: AndroidUiautomator2Driver): Promise<number>(): Promise<number>
default.mobileClickGesture(this: AndroidUiautomator2Driver, elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>(elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>
default.mobileDismissAlert(this: AndroidUiautomator2Driver, buttonLabel?: string | undefined): Promise<void>(buttonLabel?: string | undefined): Promise<void>
default.mobileFlingGesture(this: AndroidUiautomator2Driver, direction: string, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>(direction: string, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>
default.mobileListDisplays(this: AndroidUiautomator2Driver): Promise<DisplayInfo[]>(): Promise<DisplayInfo[]>
default.mobileScrollBackTo(this: AndroidUiautomator2Driver, elementId?: string | undefined, elementToId?: string | undefined): Promise<void>(elementId?: string | undefined, elementToId?: string | undefined): Promise<void>
default.mobileSwipeGesture(this: AndroidUiautomator2Driver, direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>(direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>
default.mobileViewPortRect(this: AndroidUiautomator2Driver): Promise<RelativeRect>(): Promise<RelativeRect>
default.getDevicePixelRatio(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.mobileGetDeviceInfo(this: AndroidUiautomator2Driver): Promise<StringRecord>(): Promise<StringRecord>
default.mobileScrollGesture(this: AndroidUiautomator2Driver, direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>(direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>
default.requireUiautomator2(this: AndroidUiautomator2Driver): UiAutomator2Server(): UiAutomator2Server
default.validateDesiredCaps(caps: any): caps is DriverCaps<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { reado…(caps: any): caps is DriverCaps<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; …
default.getElementScreenshot(this: AndroidUiautomator2Driver, element: string): Promise<string>(element: string): Promise<string>
default.mobileGetBatteryInfo(this: AndroidUiautomator2Driver): Promise<BatteryInfo>(): Promise<BatteryInfo>
default.mobileScheduleAction(this: AndroidUiautomator2Driver, name: string, steps: StringRecord[], maxPass?: number | undefined, maxFail?: number | undefined, times?: number | undefined, intervalMs?: number | undefined, maxHistoryItems?: number | undefined): Promise<any>(name: string, steps: StringRecord[], maxPass?: number | undefined, maxFail?: number | undefined, times?: number | undefined, intervalMs?: number | undefined, maxHistoryItems?: number | undefined): Promise<any>
default.desiredCapConstraints{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isString: true; }; readonly …{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; }; readonly systemPort: { readon…
default.getViewportScreenshot(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.initUiAutomator2Server(this: AndroidUiautomator2Driver): Promise<UiAutomator2Server>(): Promise<UiAutomator2Server>
default.mobileGetActionHistory(this: AndroidUiautomator2Driver, name: string): Promise<ActionResult>(name: string): Promise<ActionResult>
default.mobileLongClickGesture(this: AndroidUiautomator2Driver, elementId?: any, x?: number | undefined, y?: number | undefined, duration?: number | undefined): Promise<void>(elementId?: any, x?: number | undefined, y?: number | undefined, duration?: number | undefined): Promise<void>
default.mobilePinchOpenGesture(this: AndroidUiautomator2Driver, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>(percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>
default.mobileUnscheduleAction(this: AndroidUiautomator2Driver, name: string): Promise<any>(name: string): Promise<any>
default.releaseMjpegServerPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.allocateMjpegServerPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.mobilePinchCloseGesture(this: AndroidUiautomator2Driver, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>(percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>
default.performSessionExecution(this: AndroidUiautomator2Driver, capsWithSessionInfo: StringRecord): Promise<void>(capsWithSessionInfo: StringRecord): Promise<void>
default.mobileDoubleClickGesture(this: AndroidUiautomator2Driver, elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>(elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>
default.mobileViewportScreenshot(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
default.startUiAutomator2Session(this: AndroidUiautomator2Driver, caps: Uiautomator2StartSessionOpts): Promise<Uiautomator2SessionCaps>(caps: Uiautomator2StartSessionOpts): Promise<Uiautomator2SessionCaps>
default.mobileInstallMultipleApks(this: AndroidUiautomator2Driver, apks: string[], options?: InstallOptions | undefined): Promise<void>(apks: string[], options?: InstallOptions | undefined): Promise<void>
default.mobileReplaceElementValue(this: AndroidUiautomator2Driver, elementId: string, text: string): Promise<void>(elementId: string, text: string): Promise<void>
default.mobileViewportElementRect(this: AndroidUiautomator2Driver, elementId: string): Promise<Rect>(elementId: string): Promise<Rect>
default.performSessionPreExecSetup(this: AndroidUiautomator2Driver): Promise<any>(): Promise<any>
default.performSessionPostExecSetup(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
default.mobileGetDeclaredOrientation(this: AndroidUiautomator2Driver): Promise<string | null>(): Promise<string | null>
default.mobileResetAccessibilityCache(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.back(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.capsDriverCaps<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isString: true; }…DriverCaps<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; }; readonly systemPor…
AndroidUiautomator2Driver.optsDriverOpts<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isString: true; }…DriverOpts<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; }; readonly systemPor…
AndroidUiautomator2Driver.clear(this: AndroidUiautomator2Driver, elementId: string): Promise<void>(elementId: string): Promise<void>
AndroidUiautomator2Driver.active(this: AndroidUiautomator2Driver): Promise<AppiumElement>(): Promise<AppiumElement>
AndroidUiautomator2Driver.initAUT(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.keyevent(this: AndroidUiautomator2Driver, keycode: string | number, metastate?: number | undefined): Promise<void>(keycode: string | number, metastate?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobileType(this: AndroidUiautomator2Driver, text: string | number | boolean): Promise<boolean>(text: string | number | boolean): Promise<boolean>
AndroidUiautomator2Driver.getAlertText(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.getClipboard(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.mobileScroll(this: AndroidUiautomator2Driver, strategy: string, selector: string, elementId?: any, maxSwipes?: number | undefined): Promise<void>(strategy: string, selector: string, elementId?: any, maxSwipes?: number | undefined): Promise<void>
AndroidUiautomator2Driver.setClipboard(this: AndroidUiautomator2Driver, content: string, contentType?: "plaintext" | undefined, label?: string | undefined): Promise<void>(content: string, contentType?: "plaintext" | undefined, label?: string | undefined): Promise<void>
AndroidUiautomator2Driver.createSession(w3cCaps1: W3CDriverCaps<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isS…(w3cCapabilities: W3CDriverCaps<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; …
AndroidUiautomator2Driver.getPageSource(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.getScreenshot(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.getElementRect(this: AndroidUiautomator2Driver, elementId: string): Promise<Rect>(elementId: string): Promise<Rect>
AndroidUiautomator2Driver.getOrientation(this: AndroidUiautomator2Driver): Promise<Orientation>(): Promise<Orientation>
AndroidUiautomator2Driver.mobileDeepLink(this: AndroidUiautomator2Driver, url: string, pkg?: string | undefined, waitForLaunch?: boolean | undefined): Promise<void>(url: string, pkg?: string | undefined, waitForLaunch?: boolean | undefined): Promise<void>
AndroidUiautomator2Driver.mobilePressKey(this: AndroidUiautomator2Driver, keycode: number, metastate?: number | undefined, flags?: string | undefined, isLongPress?: boolean | undefined, source?: number | undefined): Promise<void>(keycode: number, metastate?: number | undefined, flags?: string | undefined, isLongPress?: boolean | undefined, source?: number | undefined): Promise<void>
AndroidUiautomator2Driver.releaseActions(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.setOrientation(this: AndroidUiautomator2Driver, orientation: Orientation): Promise<void>(orientation: Orientation): Promise<void>
AndroidUiautomator2Driver.checkAppPresent(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.ensureAppStarts(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.getViewPortRect(this: AndroidUiautomator2Driver): Promise<RelativeRect>(): Promise<RelativeRect>
AndroidUiautomator2Driver.postAcceptAlert(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.postDismissAlert(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.mobileAcceptAlert(this: AndroidUiautomator2Driver, buttonLabel?: string | undefined): Promise<void>(buttonLabel?: string | undefined): Promise<void>
AndroidUiautomator2Driver.mobileDragGesture(this: AndroidUiautomator2Driver, elementId?: any, startX?: number | undefined, startY?: number | undefined, endX?: number | undefined, endY?: number | undefined, speed?: number | undefined): Promise<void>(elementId?: any, startX?: number | undefined, startY?: number | undefined, endX?: number | undefined, endY?: number | undefined, speed?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobileListWindows(this: AndroidUiautomator2Driver, filters?: WindowFilters | undefined, skipScreenshots?: boolean | undefined): Promise<WindowInfo[]>(filters?: WindowFilters | undefined, skipScreenshots?: boolean | undefined): Promise<WindowInfo[]>
AndroidUiautomator2Driver.mobileScreenshots(this: AndroidUiautomator2Driver, displayId?: string | number | undefined): Promise<StringRecord<Screenshot>>(displayId?: string | number | undefined): Promise<StringRecord<Screenshot>>
AndroidUiautomator2Driver.prepareSessionApp(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.releaseSystemPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.allocateSystemPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.getStatusBarHeight(this: AndroidUiautomator2Driver): Promise<number>(): Promise<number>
AndroidUiautomator2Driver.mobileClickGesture(this: AndroidUiautomator2Driver, elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>(elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobileDismissAlert(this: AndroidUiautomator2Driver, buttonLabel?: string | undefined): Promise<void>(buttonLabel?: string | undefined): Promise<void>
AndroidUiautomator2Driver.mobileFlingGesture(this: AndroidUiautomator2Driver, direction: string, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>(direction: string, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>
AndroidUiautomator2Driver.mobileListDisplays(this: AndroidUiautomator2Driver): Promise<DisplayInfo[]>(): Promise<DisplayInfo[]>
AndroidUiautomator2Driver.mobileScrollBackTo(this: AndroidUiautomator2Driver, elementId?: string | undefined, elementToId?: string | undefined): Promise<void>(elementId?: string | undefined, elementToId?: string | undefined): Promise<void>
AndroidUiautomator2Driver.mobileSwipeGesture(this: AndroidUiautomator2Driver, direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>(direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobileViewPortRect(this: AndroidUiautomator2Driver): Promise<RelativeRect>(): Promise<RelativeRect>
AndroidUiautomator2Driver.getDevicePixelRatio(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.mobileGetDeviceInfo(this: AndroidUiautomator2Driver): Promise<StringRecord>(): Promise<StringRecord>
AndroidUiautomator2Driver.mobileScrollGesture(this: AndroidUiautomator2Driver, direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>(direction: string, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<boolean>
AndroidUiautomator2Driver.requireUiautomator2(this: AndroidUiautomator2Driver): UiAutomator2Server(): UiAutomator2Server
AndroidUiautomator2Driver.validateDesiredCaps(caps: any): caps is DriverCaps<{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { reado…(caps: any): caps is DriverCaps<{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; …
AndroidUiautomator2Driver.getElementScreenshot(this: AndroidUiautomator2Driver, element: string): Promise<string>(element: string): Promise<string>
AndroidUiautomator2Driver.mobileGetBatteryInfo(this: AndroidUiautomator2Driver): Promise<BatteryInfo>(): Promise<BatteryInfo>
AndroidUiautomator2Driver.mobileScheduleAction(this: AndroidUiautomator2Driver, name: string, steps: StringRecord[], maxPass?: number | undefined, maxFail?: number | undefined, times?: number | undefined, intervalMs?: number | undefined, maxHistoryItems?: number | undefined): Promise<any>(name: string, steps: StringRecord[], maxPass?: number | undefined, maxFail?: number | undefined, times?: number | undefined, intervalMs?: number | undefined, maxHistoryItems?: number | undefined): Promise<any>
AndroidUiautomator2Driver.desiredCapConstraints{ readonly platformName: { readonly isString: true; readonly inclusionCaseInsensitive: readonly ["Android"]; readonly presence: true; }; readonly deviceName: { readonly isString: true; }; readonly appActivity: { readonly isString: true; }; readonly appPackage: { readonly isString: true; }; readonly …{ readonly launchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerLaunchTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerInstallTimeout: { readonly isNumber: true; }; readonly uiautomator2ServerReadTimeout: { readonly isNumber: true; }; readonly systemPort: { readon…
AndroidUiautomator2Driver.getViewportScreenshot(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.initUiAutomator2Server(this: AndroidUiautomator2Driver): Promise<UiAutomator2Server>(): Promise<UiAutomator2Server>
AndroidUiautomator2Driver.mobileGetActionHistory(this: AndroidUiautomator2Driver, name: string): Promise<ActionResult>(name: string): Promise<ActionResult>
AndroidUiautomator2Driver.mobileLongClickGesture(this: AndroidUiautomator2Driver, elementId?: any, x?: number | undefined, y?: number | undefined, duration?: number | undefined): Promise<void>(elementId?: any, x?: number | undefined, y?: number | undefined, duration?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobilePinchOpenGesture(this: AndroidUiautomator2Driver, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>(percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobileUnscheduleAction(this: AndroidUiautomator2Driver, name: string): Promise<any>(name: string): Promise<any>
AndroidUiautomator2Driver.releaseMjpegServerPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.allocateMjpegServerPort(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.mobilePinchCloseGesture(this: AndroidUiautomator2Driver, percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>(percent: number, elementId?: any, left?: number | undefined, top?: number | undefined, width?: number | undefined, height?: number | undefined, speed?: number | undefined): Promise<void>
AndroidUiautomator2Driver.performSessionExecution(this: AndroidUiautomator2Driver, capsWithSessionInfo: StringRecord): Promise<void>(capsWithSessionInfo: StringRecord): Promise<void>
AndroidUiautomator2Driver.mobileDoubleClickGesture(this: AndroidUiautomator2Driver, elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>(elementId?: any, x?: number | undefined, y?: number | undefined): Promise<void>
AndroidUiautomator2Driver.mobileViewportScreenshot(this: AndroidUiautomator2Driver): Promise<string>(): Promise<string>
AndroidUiautomator2Driver.startUiAutomator2Session(this: AndroidUiautomator2Driver, caps: Uiautomator2StartSessionOpts): Promise<Uiautomator2SessionCaps>(caps: Uiautomator2StartSessionOpts): Promise<Uiautomator2SessionCaps>
AndroidUiautomator2Driver.mobileInstallMultipleApks(this: AndroidUiautomator2Driver, apks: string[], options?: InstallOptions | undefined): Promise<void>(apks: string[], options?: InstallOptions | undefined): Promise<void>
AndroidUiautomator2Driver.mobileReplaceElementValue(this: AndroidUiautomator2Driver, elementId: string, text: string): Promise<void>(elementId: string, text: string): Promise<void>
AndroidUiautomator2Driver.mobileViewportElementRect(this: AndroidUiautomator2Driver, elementId: string): Promise<Rect>(elementId: string): Promise<Rect>
AndroidUiautomator2Driver.performSessionPreExecSetup(this: AndroidUiautomator2Driver): Promise<any>(): Promise<any>
AndroidUiautomator2Driver.performSessionPostExecSetup(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>
AndroidUiautomator2Driver.mobileGetDeclaredOrientation(this: AndroidUiautomator2Driver): Promise<string | null>(): Promise<string | null>
AndroidUiautomator2Driver.mobileResetAccessibilityCache(this: AndroidUiautomator2Driver): Promise<void>(): Promise<void>

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node^20.19.0 || ^22.12.0 || >=24.0.0^22.22.2 || ^24.15.0 || >=26.0.0
peerDependencies.appium^3.0.0-rc.2^4.0.0-beta.6

Changelog between these versions

Text published by the package authors, shown as-is.

9.0.0
### ⚠ BREAKING CHANGES

* requires Appium >=4.0.0-beta.0 and drops Node 20 support
(minimum is now ^22.22.2 || ^24.15.0 || >=26.0.0), matching Appium 4's own
minimum supported Node engine. Also requires appium-android-driver

### Features

* target Appium 4 beta ([#1048](https://github.com/appium/appium-uiautomator2-driver/issues/1048)) ([add442c](https://github.com/appium/appium-uiautomator2-driver/commit/add442c5b5e626a4f742bb4800f1fc61f95cbcf7))

### Bug Fixes

* Bring back autoLaunch cap ([#1053](https://github.com/appium/appium-uiautomator2-driver/issues/1053)) ([a89c10e](https://github.com/appium/appium-uiautomator2-driver/commit/a89c10e65df0e26d50be12a56eba79e6b5f4930b))
* Drop obsolete sessions from the server list on IPC session claim ([#1052](https://github.com/appium/appium-uiautomator2-driver/issues/1052)) ([390f9b0](https://github.com/appium/appium-uiautomator2-driver/commit/390f9b0a290008ea44bd31384e5c87ccd84c7c52))

### Miscellaneous Chores

* Bump Appium monorepo packages to latest betas and fix lint warnings ([#1050](https://github.com/appium/appium-uiautomator2-driver/issues/1050)) ([b6aa938](https://github.com/appium/appium-uiautomator2-driver/commit/b6aa93808f61d05b7cebedb19e776bb63ab5d562))
* bump appium-android-driver to v15 ([0e7102c](https://github.com/appium/appium-uiautomator2-driver/commit/0e7102c8a0d48a196275ee6ddccd6c4944782e06))
* replace unzipper with @appium/support zip helpers ([#1069](https://github.com/appium/appium-uiautomator2-driver/issues/1069)) ([60c8601](https://github.com/appium/appium-uiautomator2-driver/commit/60c86015f602d21b3d8eaafced8b441a20c6f3a5))

### Code Refactoring

* attach commands via prototype to allow overrides in descendants ([#1055](https://github.com/appium/appium-uiautomator2-driver/issues/1055)) ([51720b2](https://github.com/appium/appium-uiautomator2-driver/commit/51720b2e1b0ff6713c57e1b1e2f1ff4a99dee92a))

Give your AI agent these facts

Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Add to CursorAdd to VS Code★ Star on GitHub

Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests

Frequently asked questions

What are the breaking changes when upgrading appium-uiautomator2-driver from 8 to 9?

Between appium-uiautomator2-driver 8.7.3 and 9.0.0, Vigia found 0 removed exports, 0 changed signatures and 188 removed or changed class or interface members.

What became deprecated in appium-uiautomator2-driver 9?

0 exports or members are newly marked as deprecated in appium-uiautomator2-driver 9.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/appium-uiautomator2-driver/upgrade?from=8.7.3&to=9.0.0