UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

1,118 lines 52.9 kB
import { WebDriverAgent } from 'appium-webdriveragent'; import { BaseDriver } from 'appium/driver'; import { mjpeg } from 'appium/support'; import type { RouteMatcher, DefaultCreateSessionResult, DriverData, StringRecord, ExternalDriver, W3CDriverCaps, DriverCaps, DriverOpts } from '@appium/types'; import { LRUCache } from 'lru-cache'; import * as activeAppInfoCommands from './commands/active-app-info'; import * as alertCommands from './commands/alert'; import * as appManagementCommands from './commands/app-management'; import * as appearanceCommands from './commands/appearance'; import * as appStringsCommands from './commands/app-strings'; import * as auditCommands from './commands/audit'; import * as batteryCommands from './commands/battery'; import * as biometricCommands from './commands/biometric'; import * as certificateCommands from './commands/certificate'; import * as clipboardCommands from './commands/clipboard'; import * as conditionCommands from './commands/condition'; import * as contentSizeCommands from './commands/content-size'; import * as contextCommands from './commands/context'; import * as deviceInfoCommands from './commands/device-info'; import * as elementCommands from './commands/element'; import * as executeCommands from './commands/execute'; import * as fileMovementCommands from './commands/file-movement'; import * as findCommands from './commands/find'; import * as generalCommands from './commands/general'; import * as geolocationCommands from './commands/geolocation'; import * as gestureCommands from './commands/gesture'; import * as iohidCommands from './commands/iohid'; import * as keychainsCommands from './commands/keychains'; import * as keyboardCommands from './commands/keyboard'; import * as localizationCommands from './commands/localization'; import * as locationCommands from './commands/location'; import * as lockCommands from './commands/lock'; import * as logCommands from './commands/log'; import * as memoryCommands from './commands/memory'; import * as navigationCommands from './commands/navigation'; import * as notificationsCommands from './commands/notifications'; import * as pasteboardCommands from './commands/pasteboard'; import * as networkMonitorCommands from './commands/network-monitor'; import * as performanceCommands from './commands/performance'; import * as permissionsCommands from './commands/permissions'; import * as proxyHelperCommands from './commands/proxy-helper'; import * as recordAudioCommands from './commands/record-audio'; import * as recordScreenCommands from './commands/recordscreen'; import * as screenshotCommands from './commands/screenshots'; import * as sourceCommands from './commands/source'; import * as simctlCommands from './commands/simctl'; import * as timeoutCommands from './commands/timeouts'; import * as webCommands from './commands/web'; import * as xctestCommands from './commands/xctest'; import * as xctestRecordScreenCommands from './commands/xctest-record-screen'; import * as increaseContrastCommands from './commands/increase-contrast'; import { type XCUITestDriverConstraints } from './desired-caps'; import { DeviceConnectionsFactory } from './device/device-connections-factory'; import { RealDevice } from './device/real-device-management'; import { AppInfosCache } from './app-infos-cache'; import type { CalibrationData, IConditionInducer, LifecycleData } from './types'; import type { WaitingAtoms, LogListener, FullContext } from './commands/types'; import type { PerfRecorder } from './commands/performance'; import type { AudioRecorder } from './commands/record-audio'; import type { NetworkMonitorSession } from './device/network-monitor-session'; import type { ScreenRecorder } from './commands/recordscreen'; import type { IOSDeviceLog } from './device/log/ios-device-log'; import type { IOSSimulatorLog } from './device/log/ios-simulator-log'; import type { IOSCrashLog } from './device/log/ios-crash-log'; import type { SafariConsoleLog } from './device/log/safari-console-log'; import type { SafariNetworkLog } from './device/log/safari-network-log'; import type { IOSPerformanceLog } from './device/log/ios-performance-log'; import type { RemoteDebugger } from 'appium-remote-debugger'; import type { XcodeVersion } from 'appium-xcode'; import type { Simulator } from 'appium-ios-simulator'; export type AutInstallationStateOptions = Pick<XCUITestDriverOpts, 'enforceAppInstall' | 'fullReset' | 'noReset' | 'bundleId' | 'app'>; export interface AutInstallationState { install: boolean; skipUninstall: boolean; } export type XCUITestDriverOpts = DriverOpts<XCUITestDriverConstraints>; export type W3CXCUITestDriverCaps = W3CDriverCaps<XCUITestDriverConstraints>; export interface DriverLogs { syslog?: IOSDeviceLog | IOSSimulatorLog; crashlog?: IOSCrashLog; safariConsole?: SafariConsoleLog; safariNetwork?: SafariNetworkLog; performance?: IOSPerformanceLog; } export declare class XCUITestDriver extends BaseDriver<XCUITestDriverConstraints, StringRecord> implements ExternalDriver<XCUITestDriverConstraints, FullContext | string, StringRecord> { static newMethodMap: { readonly '/session/:sessionId/timeouts/async_script': { readonly POST: { readonly command: "asyncScriptTimeout"; readonly payloadParams: { readonly required: readonly ["ms"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/timeouts/implicit_wait': { readonly POST: { readonly command: "implicitWait"; readonly payloadParams: { readonly required: readonly ["ms"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/window/:windowhandle/size': { readonly GET: { readonly command: "getWindowSize"; readonly deprecated: true; }; }; readonly '/session/:sessionId/element/:elementId/submit': { readonly POST: { readonly command: "submit"; readonly deprecated: true; }; }; readonly '/session/:sessionId/keys': { readonly POST: { readonly command: "keys"; readonly payloadParams: { readonly required: readonly ["value"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/element/:elementId/location': { readonly GET: { readonly command: "getLocation"; readonly deprecated: true; }; }; readonly '/session/:sessionId/element/:elementId/location_in_view': { readonly GET: { readonly command: "getLocationInView"; readonly deprecated: true; }; }; readonly '/session/:sessionId/element/:elementId/size': { readonly GET: { readonly command: "getSize"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/device/shake': { readonly POST: { readonly command: "mobileShake"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/device/lock': { readonly POST: { readonly command: "lock"; readonly payloadParams: { readonly optional: readonly ["seconds"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/device/unlock': { readonly POST: { readonly command: "unlock"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/device/is_locked': { readonly POST: { readonly command: "isLocked"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/start_recording_screen': { readonly POST: { readonly command: "startRecordingScreen"; readonly payloadParams: { readonly optional: readonly ["options"]; }; }; }; readonly '/session/:sessionId/appium/stop_recording_screen': { readonly POST: { readonly command: "stopRecordingScreen"; readonly payloadParams: { readonly optional: readonly ["options"]; }; }; }; readonly '/session/:sessionId/appium/device/app_state': { readonly POST: { readonly command: "queryAppState"; readonly payloadParams: { readonly required: readonly [readonly ["appId"], readonly ["bundleId"]]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/simulator/touch_id': { readonly POST: { readonly command: "touchId"; readonly payloadParams: { readonly required: readonly ["match"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/simulator/toggle_touch_id_enrollment': { readonly POST: { readonly command: "toggleEnrollTouchId"; readonly payloadParams: { readonly optional: readonly ["enabled"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/app/launch': { readonly POST: { readonly command: "launchApp"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/app/close': { readonly POST: { readonly command: "closeApp"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/app/reset': { readonly POST: { readonly command: "reset"; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/app/background': { readonly POST: { readonly command: "background"; readonly payloadParams: { readonly required: readonly ["seconds"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/app/strings': { readonly POST: { readonly command: "getStrings"; readonly payloadParams: { readonly optional: readonly ["language", "stringFile"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/element/:elementId/value': { readonly POST: { readonly command: "setValueImmediate"; readonly payloadParams: { readonly required: readonly ["text"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/device/get_clipboard': { readonly POST: { readonly command: "getClipboard"; readonly payloadParams: { readonly optional: readonly ["contentType"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/appium/device/set_clipboard': { readonly POST: { readonly command: "setClipboard"; readonly payloadParams: { readonly required: readonly ["content"]; readonly optional: readonly ["contentType", "label"]; }; readonly deprecated: true; }; }; readonly '/session/:sessionId/log': { readonly POST: { readonly command: "getLog"; readonly payloadParams: { readonly required: readonly ["type"]; }; }; }; readonly '/session/:sessionId/log/types': { readonly GET: { readonly command: "getLogTypes"; }; }; readonly '/session/:sessionId/location': { readonly GET: { readonly command: "getGeoLocation"; readonly deprecated: true; }; readonly POST: { readonly command: "setGeoLocation"; readonly payloadParams: { readonly required: readonly ["location"]; }; readonly deprecated: true; }; }; }; static executeMethodMap: { readonly 'mobile: tap': { readonly command: "mobileTap"; readonly params: { readonly required: readonly ["x", "y"]; readonly optional: readonly ["elementId"]; }; }; readonly 'mobile: scroll': { readonly command: "mobileScroll"; readonly params: { readonly optional: readonly ["name", "direction", "predicateString", "toVisible", "distance", "elementId"]; }; }; readonly 'mobile: selectPickerWheelValue': { readonly command: "mobileSelectPickerWheelValue"; readonly params: { readonly required: readonly ["elementId", "order"]; readonly optional: readonly ["offset"]; }; }; readonly 'mobile: sendMemoryWarning': { readonly command: "mobileSendMemoryWarning"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: swipe': { readonly command: "mobileSwipe"; readonly params: { readonly required: readonly ["direction"]; readonly optional: readonly ["velocity", "elementId"]; }; }; readonly 'mobile: pinch': { readonly command: "mobilePinch"; readonly params: { readonly required: readonly ["scale", "velocity"]; readonly optional: readonly ["elementId"]; }; }; readonly 'mobile: doubleTap': { readonly command: "mobileDoubleTap"; readonly params: { readonly optional: readonly ["elementId", "x", "y"]; }; }; readonly 'mobile: twoFingerTap': { readonly command: "mobileTwoFingerTap"; readonly params: { readonly optional: readonly ["elementId"]; }; }; readonly 'mobile: tapWithNumberOfTaps': { readonly command: "mobileTapWithNumberOfTaps"; readonly params: { readonly optional: readonly ["numberOfTouches", "numberOfTaps", "elementId"]; }; }; readonly 'mobile: touchAndHold': { readonly command: "mobileTouchAndHold"; readonly params: { readonly required: readonly ["duration"]; readonly optional: readonly ["x", "y", "elementId"]; }; }; readonly 'mobile: dragFromToForDuration': { readonly command: "mobileDragFromToForDuration"; readonly params: { readonly required: readonly ["duration", "fromX", "fromY", "toX", "toY"]; readonly optional: readonly ["elementId"]; }; }; readonly 'mobile: rotateElement': { readonly command: "mobileRotateElement"; readonly params: { readonly required: readonly ["rotation", "velocity"]; readonly optional: readonly ["elementId"]; }; }; readonly 'mobile: dragFromToWithVelocity': { readonly command: "mobileDragFromToWithVelocity"; readonly params: { readonly required: readonly ["pressDuration", "holdDuration", "velocity"]; readonly optional: readonly ["fromElementId", "toElementId", "fromX", "fromY", "toX", "toY"]; }; }; readonly 'mobile: forcePress': { readonly command: "mobileForcePress"; readonly params: { readonly optional: readonly ["x", "y", "duration", "pressure", "elementId"]; }; }; readonly 'mobile: scrollToElement': { readonly command: "mobileScrollToElement"; readonly params: { readonly required: readonly ["elementId"]; }; }; readonly 'mobile: alert': { readonly command: "mobileHandleAlert"; readonly params: { readonly required: readonly ["action"]; readonly optional: readonly ["buttonLabel"]; }; }; readonly 'mobile: setPasteboard': { readonly command: "mobileSetPasteboard"; readonly params: { readonly required: readonly ["content"]; readonly optional: readonly ["encoding"]; }; }; readonly 'mobile: getPasteboard': { readonly command: "mobileGetPasteboard"; readonly params: { readonly optional: readonly ["encoding"]; }; }; readonly 'mobile: source': { readonly command: "mobileGetSource"; readonly params: { readonly optional: readonly ["format", "excludedAttributes"]; }; }; readonly 'mobile: getAppStrings': { readonly command: "getStrings"; readonly params: { readonly optional: readonly ["language", "stringFile"]; }; }; readonly 'mobile: getContexts': { readonly command: "mobileGetContexts"; readonly params: { readonly optional: readonly ["waitForWebviewMs"]; }; }; readonly 'mobile: installApp': { readonly command: "mobileInstallApp"; readonly params: { readonly required: readonly ["app"]; readonly optional: readonly ["timeoutMs", "checkVersion"]; }; }; readonly 'mobile: isAppInstalled': { readonly command: "mobileIsAppInstalled"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: removeApp': { readonly command: "mobileRemoveApp"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: launchApp': { readonly command: "mobileLaunchApp"; readonly params: { readonly required: readonly ["bundleId"]; readonly optional: readonly ["arguments", "environment"]; }; }; readonly 'mobile: terminateApp': { readonly command: "mobileTerminateApp"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: killApp': { readonly command: "mobileKillApp"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: queryAppState': { readonly command: "mobileQueryAppState"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: activateApp': { readonly command: "mobileActivateApp"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: listApps': { readonly command: "mobileListApps"; readonly params: { readonly optional: readonly ["applicationType", "returnAttributes"]; }; }; readonly 'mobile: clearApp': { readonly command: "mobileClearApp"; readonly params: { readonly required: readonly ["bundleId"]; }; }; readonly 'mobile: viewportScreenshot': { readonly command: "getViewportScreenshot"; }; readonly 'mobile: viewportRect': { readonly command: "getViewportRect"; }; readonly 'mobile: startPerfRecord': { readonly command: "mobileStartPerfRecord"; readonly params: { readonly optional: readonly ["timeout", "profileName", "pid"]; }; }; readonly 'mobile: stopPerfRecord': { readonly command: "mobileStopPerfRecord"; readonly params: { readonly optional: readonly ["remotePath", "user", "pass", "method", "profileName", "headers", "fileFieldName", "formFields"]; }; }; readonly 'mobile: installCertificate': { readonly command: "mobileInstallCertificate"; readonly params: { readonly required: readonly ["content"]; readonly optional: readonly ["commonName", "isRoot"]; }; }; readonly 'mobile: removeCertificate': { readonly command: "mobileRemoveCertificate"; readonly params: { readonly required: readonly ["name"]; }; }; readonly 'mobile: listCertificates': { readonly command: "mobileListCertificates"; }; readonly 'mobile: startLogsBroadcast': { readonly command: "mobileStartLogsBroadcast"; }; readonly 'mobile: stopLogsBroadcast': { readonly command: "mobileStopLogsBroadcast"; }; readonly 'mobile: batteryInfo': { readonly command: "mobileGetBatteryInfo"; }; readonly 'mobile: performAccessibilityAudit': { readonly command: "mobilePerformAccessibilityAudit"; readonly params: { readonly optional: readonly ["auditTypes"]; }; }; readonly 'mobile: deviceInfo': { readonly command: "mobileGetDeviceInfo"; }; readonly 'mobile: getDeviceTime': { readonly command: "mobileGetDeviceTime"; readonly params: { readonly optional: readonly ["format"]; }; }; readonly 'mobile: activeAppInfo': { readonly command: "mobileGetActiveAppInfo"; }; readonly 'mobile: deviceScreenInfo': { readonly command: "getScreenInfo"; }; readonly 'mobile: pressButton': { readonly command: "mobilePressButton"; readonly params: { readonly required: readonly ["name"]; readonly optional: readonly ["durationSeconds"]; }; }; readonly 'mobile: enrollBiometric': { readonly command: "mobileEnrollBiometric"; readonly params: { readonly optional: readonly ["isEnabled"]; }; }; readonly 'mobile: sendBiometricMatch': { readonly command: "mobileSendBiometricMatch"; readonly params: { readonly optional: readonly ["type", "match"]; }; }; readonly 'mobile: isBiometricEnrolled': { readonly command: "mobileIsBiometricEnrolled"; }; readonly 'mobile: clearKeychains': { readonly command: "mobileClearKeychains"; }; readonly 'mobile: getPermission': { readonly command: "mobileGetPermission"; readonly params: { readonly required: readonly ["bundleId", "service"]; }; }; readonly 'mobile: setPermission': { readonly command: "mobileSetPermissions"; readonly params: { readonly required: readonly ["access", "bundleId"]; }; }; readonly 'mobile: resetPermission': { readonly command: "mobileResetPermission"; readonly params: { readonly required: readonly ["service"]; }; }; readonly 'mobile: getAppearance': { readonly command: "mobileGetAppearance"; }; readonly 'mobile: setAppearance': { readonly command: "mobileSetAppearance"; readonly params: { readonly required: readonly ["style"]; }; }; readonly 'mobile: getIncreaseContrast': { readonly command: "mobileGetIncreaseContrast"; }; readonly 'mobile: setIncreaseContrast': { readonly command: "mobileSetIncreaseContrast"; readonly params: { readonly required: readonly ["increaseContrast"]; }; }; readonly 'mobile: contentSize': { readonly command: "mobileGetContentSize"; }; readonly 'mobile: setContentSize': { readonly command: "mobileSetContentSize"; readonly params: { readonly required: readonly ["size"]; }; }; readonly 'mobile: getClipboard': { readonly command: "getClipboard"; readonly params: { readonly optional: readonly ["contentType"]; }; }; readonly 'mobile: setClipboard': { readonly command: "setClipboard"; readonly params: { readonly required: readonly ["content"]; readonly optional: readonly ["contentType"]; }; }; readonly 'mobile: siriCommand': { readonly command: "mobileSiriCommand"; readonly params: { readonly required: readonly ["text"]; }; }; readonly 'mobile: pushFile': { readonly command: "mobilePushFile"; readonly params: { readonly required: readonly ["remotePath", "payload"]; }; }; readonly 'mobile: pullFile': { readonly command: "mobilePullFile"; readonly params: { readonly required: readonly ["remotePath"]; }; }; readonly 'mobile: pullFolder': { readonly command: "mobilePullFolder"; readonly params: { readonly required: readonly ["remotePath"]; }; }; readonly 'mobile: deleteFile': { readonly command: "mobileDeleteFile"; readonly params: { readonly required: readonly ["remotePath"]; }; }; readonly 'mobile: deleteFolder': { readonly command: "mobileDeleteFolder"; readonly params: { readonly required: readonly ["remotePath"]; }; }; readonly 'mobile: runXCTest': { readonly command: "mobileRunXCTest"; readonly params: { readonly required: readonly ["testRunnerBundleId", "appUnderTestBundleId", "xctestBundleId"]; readonly optional: readonly ["args", "testType", "env", "timeout"]; }; }; readonly 'mobile: installXCTestBundle': { readonly command: "mobileInstallXCTestBundle"; readonly params: { readonly required: readonly ["xctestApp"]; }; }; readonly 'mobile: listXCTestBundles': { readonly command: "mobileListXCTestBundles"; }; readonly 'mobile: startXCTestScreenRecording': { readonly command: "mobileStartXctestScreenRecording"; readonly params: { readonly optional: readonly ["fps", "codec"]; }; }; readonly 'mobile: getXCTestScreenRecordingInfo': { readonly command: "mobileGetXctestScreenRecordingInfo"; }; readonly 'mobile: stopXCTestScreenRecording': { readonly command: "mobileStopXctestScreenRecording"; readonly params: { readonly optional: readonly ["remotePath", "user", "pass", "headers", "fileFieldName", "formFields", "method"]; }; }; readonly 'mobile: pushNotification': { readonly command: "mobilePushNotification"; readonly params: { readonly required: readonly ["bundleId", "payload"]; }; }; readonly 'mobile: expectNotification': { readonly command: "mobileExpectNotification"; readonly params: { readonly required: readonly ["name"]; readonly optional: readonly ["type", "timeoutSeconds"]; }; }; readonly 'mobile: performIoHidEvent': { readonly command: "mobilePerformIoHidEvent"; readonly params: { readonly required: readonly ["page", "usage", "durationSeconds"]; }; }; readonly 'mobile: configureLocalization': { readonly command: "mobileConfigureLocalization"; readonly params: { readonly optional: readonly ["keyboard", "language", "locale"]; }; }; readonly 'mobile: resetLocationService': { readonly command: "mobileResetLocationService"; }; readonly 'mobile: startNetworkMonitor': { readonly command: "mobileStartNetworkMonitor"; }; readonly 'mobile: stopNetworkMonitor': { readonly command: "mobileStopNetworkMonitor"; }; readonly 'mobile: listConditionInducers': { readonly command: "listConditionInducers"; }; readonly 'mobile: enableConditionInducer': { readonly command: "enableConditionInducer"; readonly params: { readonly required: readonly ["conditionID", "profileID"]; }; }; readonly 'mobile: disableConditionInducer': { readonly command: "disableConditionInducer"; }; readonly 'mobile: updateSafariPreferences': { readonly command: "mobileUpdateSafariPreferences"; readonly params: { readonly required: readonly ["preferences"]; }; }; readonly 'mobile: calibrateWebToRealCoordinatesTranslation': { readonly command: "mobileCalibrateWebToRealCoordinatesTranslation"; }; readonly 'mobile: keys': { readonly command: "mobileKeys"; readonly params: { readonly required: readonly ["keys"]; readonly optional: readonly ["elementId"]; }; }; readonly 'mobile: deepLink': { readonly command: "mobileDeepLink"; readonly params: { readonly required: readonly ["url"]; readonly optional: readonly ["bundleId"]; }; }; readonly 'mobile: setSimulatedLocation': { readonly command: "mobileSetSimulatedLocation"; readonly params: { readonly required: readonly ["latitude", "longitude"]; }; }; readonly 'mobile: getSimulatedLocation': { readonly command: "mobileGetSimulatedLocation"; }; readonly 'mobile: resetSimulatedLocation': { readonly command: "mobileResetSimulatedLocation"; }; readonly 'mobile: shake': { readonly command: "mobileShake"; }; readonly 'mobile: startScreenRecording': { readonly command: "mobileStartScreenRecording"; readonly params: { readonly optional: readonly ["videoType", "videoQuality", "videoFps", "videoFilters", "videoScale", "pixelFormat", "forceRestart", "timeLimit", "hardwareAcceleration", "remotePath", "user", "pass", "headers", "fileFieldName", "formFields", "method"]; }; }; readonly 'mobile: stopScreenRecording': { readonly command: "mobileStopScreenRecording"; readonly params: { readonly optional: readonly ["remotePath", "user", "pass", "headers", "fileFieldName", "formFields", "method"]; }; }; readonly 'mobile: startAudioRecording': { readonly command: "startAudioRecording"; readonly params: { readonly required: readonly ["audioInput"]; readonly optional: readonly ["timeLimit", "audioCodec", "audioBitrate", "audioChannels", "audioRate", "forceRestart"]; }; }; readonly 'mobile: stopAudioRecording': { readonly command: "stopAudioRecording"; }; readonly 'mobile: hideKeyboard': { readonly command: "mobileHideKeyboard"; readonly params: { readonly optional: readonly ["keys"]; }; }; readonly 'mobile: isKeyboardShown': { readonly command: "isKeyboardShown"; }; readonly 'mobile: lock': { readonly command: "lock"; readonly params: { readonly optional: readonly ["seconds"]; }; }; readonly 'mobile: unlock': { readonly command: "unlock"; }; readonly 'mobile: isLocked': { readonly command: "isLocked"; }; readonly 'mobile: backgroundApp': { readonly command: "background"; readonly params: { readonly optional: readonly ["seconds"]; }; }; readonly 'mobile: simctl': { readonly command: "mobileSimctl"; readonly params: { readonly required: readonly ["command"]; readonly optional: readonly ["args", "timeout"]; }; }; }; curWindowHandle: string | null | undefined; selectingNewPage: boolean | undefined; contexts: string[]; curContext: string | null; curWebFrames: string[]; webviewCalibrationResult: CalibrationData | null; asyncWaitMs: number | undefined; _syslogWebsocketListener: ((logRecord: { message: string; }) => void) | null; _perfRecorders: PerfRecorder[]; webElementsCache: LRUCache<any, any>; _conditionInducer: IConditionInducer | null; _isSafariIphone: boolean | undefined; _isSafariNotched: boolean | undefined; _waitingAtoms: WaitingAtoms; lifecycleData: LifecycleData; _audioRecorder: AudioRecorder | null; xcodeVersion: XcodeVersion | undefined; _networkMonitorSession: NetworkMonitorSession | null; _recentScreenRecorder: ScreenRecorder | null; _device: Simulator | RealDevice; _iosSdkVersion: string | null; _wda: WebDriverAgent | null; _remote: RemoteDebugger | null; logs: DriverLogs; _bidiServerLogListener: LogListener | undefined; appInfosCache: AppInfosCache; doesSupportBidi: boolean; jwpProxyActive: boolean; proxyReqRes: ((...args: any[]) => any) | null; safari: boolean; cachedWdaStatus: any; _currentUrl: string | null; pageLoadMs: number; landscapeWebCoordsOffset: number; mjpegStream?: mjpeg.MJpegStream; readonly deviceConnectionsFactory: DeviceConnectionsFactory; mobileGetActiveAppInfo: typeof activeAppInfoCommands.mobileGetActiveAppInfo; getAlertText: typeof alertCommands.getAlertText; setAlertText: typeof alertCommands.setAlertText; postAcceptAlert: typeof alertCommands.postAcceptAlert; postDismissAlert: typeof alertCommands.postDismissAlert; getAlertButtons: typeof alertCommands.getAlertButtons; mobileHandleAlert: typeof alertCommands.mobileHandleAlert; mobileInstallApp: typeof appManagementCommands.mobileInstallApp; mobileIsAppInstalled: typeof appManagementCommands.mobileIsAppInstalled; mobileRemoveApp: typeof appManagementCommands.mobileRemoveApp; mobileLaunchApp: typeof appManagementCommands.mobileLaunchApp; mobileTerminateApp: typeof appManagementCommands.mobileTerminateApp; mobileActivateApp: typeof appManagementCommands.mobileActivateApp; mobileKillApp: typeof appManagementCommands.mobileKillApp; mobileQueryAppState: typeof appManagementCommands.mobileQueryAppState; installApp: typeof appManagementCommands.installApp; activateApp: typeof appManagementCommands.activateApp; isAppInstalled: typeof appManagementCommands.isAppInstalled; terminateApp: typeof appManagementCommands.terminateApp; queryAppState: typeof appManagementCommands.queryAppState; mobileListApps: typeof appManagementCommands.mobileListApps; mobileClearApp: typeof appManagementCommands.mobileClearApp; mobileSetAppearance: typeof appearanceCommands.mobileSetAppearance; mobileGetAppearance: typeof appearanceCommands.mobileGetAppearance; mobileSetIncreaseContrast: typeof increaseContrastCommands.mobileSetIncreaseContrast; mobileGetIncreaseContrast: typeof increaseContrastCommands.mobileGetIncreaseContrast; mobileSetContentSize: typeof contentSizeCommands.mobileSetContentSize; mobileGetContentSize: typeof contentSizeCommands.mobileGetContentSize; mobilePerformAccessibilityAudit: typeof auditCommands.mobilePerformAccessibilityAudit; mobileGetBatteryInfo: typeof batteryCommands.mobileGetBatteryInfo; mobileEnrollBiometric: typeof biometricCommands.mobileEnrollBiometric; mobileSendBiometricMatch: typeof biometricCommands.mobileSendBiometricMatch; mobileIsBiometricEnrolled: typeof biometricCommands.mobileIsBiometricEnrolled; mobileInstallCertificate: typeof certificateCommands.mobileInstallCertificate; mobileListCertificates: typeof certificateCommands.mobileListCertificates; mobileRemoveCertificate: typeof certificateCommands.mobileRemoveCertificate; setClipboard: typeof clipboardCommands.setClipboard; getClipboard: typeof clipboardCommands.getClipboard; listConditionInducers: typeof conditionCommands.listConditionInducers; enableConditionInducer: typeof conditionCommands.enableConditionInducer; disableConditionInducer: typeof conditionCommands.disableConditionInducer; getContexts: typeof contextCommands.getContexts; getCurrentContext: typeof contextCommands.getCurrentContext; getWindowHandle: typeof contextCommands.getWindowHandle; getWindowHandles: typeof contextCommands.getWindowHandles; setContext: typeof contextCommands.setContext; setWindow: typeof contextCommands.setWindow; activateRecentWebview: typeof contextCommands.activateRecentWebview; connectToRemoteDebugger: typeof contextCommands.connectToRemoteDebugger; getContextsAndViews: typeof contextCommands.getContextsAndViews; listWebFrames: typeof contextCommands.listWebFrames; mobileGetContexts: typeof contextCommands.mobileGetContexts; onPageChange: typeof contextCommands.onPageChange; getCurrentUrl: typeof contextCommands.getCurrentUrl; getNewRemoteDebugger: typeof contextCommands.getNewRemoteDebugger; getRecentWebviewContextId: typeof contextCommands.getRecentWebviewContextId; isWebContext: typeof contextCommands.isWebContext; isWebview: typeof contextCommands.isWebview; setCurrentUrl: typeof contextCommands.setCurrentUrl; stopRemote: typeof contextCommands.stopRemote; mobileGetDeviceInfo: typeof deviceInfoCommands.mobileGetDeviceInfo; elementDisplayed: typeof elementCommands.elementDisplayed; elementEnabled: typeof elementCommands.elementEnabled; elementSelected: typeof elementCommands.elementSelected; getName: typeof elementCommands.getName; getNativeAttribute: typeof elementCommands.getNativeAttribute; getAttribute: typeof elementCommands.getAttribute; getProperty: typeof elementCommands.getProperty; getText: typeof elementCommands.getText; getElementRect: typeof elementCommands.getElementRect; getLocation: typeof elementCommands.getLocation; getLocationInView: typeof elementCommands.getLocationInView; getSize: typeof elementCommands.getSize; /** @deprecated */ setValueImmediate: typeof elementCommands.setValueImmediate; setValue: typeof elementCommands.setValue; setValueWithWebAtom: typeof elementCommands.setValueWithWebAtom; keys: typeof elementCommands.keys; clear: typeof elementCommands.clear; getContentSize: typeof elementCommands.getContentSize; getNativeRect: typeof elementCommands.getNativeRect; execute: typeof executeCommands.execute; executeAsync: typeof executeCommands.executeAsync; mobileSimctl: typeof simctlCommands.mobileSimctl; pushFile: typeof fileMovementCommands.pushFile; mobilePushFile: typeof fileMovementCommands.mobilePushFile; pullFile: typeof fileMovementCommands.pullFile; mobilePullFile: typeof fileMovementCommands.mobilePullFile; mobileDeleteFolder: typeof fileMovementCommands.mobileDeleteFolder; mobileDeleteFile: typeof fileMovementCommands.mobileDeleteFile; pullFolder: typeof fileMovementCommands.pullFolder; mobilePullFolder: typeof fileMovementCommands.mobilePullFolder; mobileSendMemoryWarning: typeof memoryCommands.mobileSendMemoryWarning; findElOrEls: typeof findCommands.findElOrEls; findNativeElementOrElements: typeof findCommands.findNativeElementOrElements; doNativeFind: typeof findCommands.doNativeFind; getFirstVisibleChild: typeof findCommands.getFirstVisibleChild; active: typeof generalCommands.active; background: typeof appManagementCommands.background; touchId: typeof generalCommands.touchId; toggleEnrollTouchId: typeof generalCommands.toggleEnrollTouchId; getWindowSize: typeof generalCommands.getWindowSize; getDeviceTime: typeof generalCommands.getDeviceTime; mobileGetDeviceTime: typeof generalCommands.mobileGetDeviceTime; getWindowRect: typeof generalCommands.getWindowRect; getStrings: typeof appStringsCommands.getStrings; removeApp: typeof generalCommands.removeApp; launchApp: typeof generalCommands.launchApp; closeApp: typeof generalCommands.closeApp; setUrl: typeof generalCommands.setUrl; getViewportRect: typeof generalCommands.getViewportRect; getScreenInfo: typeof generalCommands.getScreenInfo; getStatusBarHeight: typeof generalCommands.getStatusBarHeight; getDevicePixelRatio: typeof generalCommands.getDevicePixelRatio; mobilePressButton: typeof generalCommands.mobilePressButton; mobileSiriCommand: typeof generalCommands.mobileSiriCommand; mobileGetSimulatedLocation: typeof geolocationCommands.mobileGetSimulatedLocation; mobileSetSimulatedLocation: typeof geolocationCommands.mobileSetSimulatedLocation; mobileResetSimulatedLocation: typeof geolocationCommands.mobileResetSimulatedLocation; mobileShake: typeof gestureCommands.mobileShake; click: typeof gestureCommands.click; releaseActions: typeof gestureCommands.releaseActions; performActions: typeof gestureCommands.performActions; nativeClick: typeof gestureCommands.nativeClick; mobileScrollToElement: typeof gestureCommands.mobileScrollToElement; mobileScroll: typeof gestureCommands.mobileScroll; mobileSwipe: typeof gestureCommands.mobileSwipe; mobilePinch: typeof gestureCommands.mobilePinch; mobileDoubleTap: typeof gestureCommands.mobileDoubleTap; mobileTwoFingerTap: typeof gestureCommands.mobileTwoFingerTap; mobileTouchAndHold: typeof gestureCommands.mobileTouchAndHold; mobileTap: typeof gestureCommands.mobileTap; mobileDragFromToForDuration: typeof gestureCommands.mobileDragFromToForDuration; mobileDragFromToWithVelocity: typeof gestureCommands.mobileDragFromToWithVelocity; mobileTapWithNumberOfTaps: typeof gestureCommands.mobileTapWithNumberOfTaps; mobileForcePress: typeof gestureCommands.mobileForcePress; mobileSelectPickerWheelValue: typeof gestureCommands.mobileSelectPickerWheelValue; mobileRotateElement: typeof gestureCommands.mobileRotateElement; mobilePerformIoHidEvent: typeof iohidCommands.mobilePerformIoHidEvent; mobileClearKeychains: typeof keychainsCommands.mobileClearKeychains; hideKeyboard: typeof keyboardCommands.hideKeyboard; mobileHideKeyboard: typeof keyboardCommands.mobileHideKeyboard; isKeyboardShown: typeof keyboardCommands.isKeyboardShown; mobileKeys: typeof keyboardCommands.mobileKeys; mobileConfigureLocalization: typeof localizationCommands.mobileConfigureLocalization; getGeoLocation: typeof locationCommands.getGeoLocation; setGeoLocation: typeof locationCommands.setGeoLocation; mobileResetLocationService: typeof locationCommands.mobileResetLocationService; lock: typeof lockCommands.lock; unlock: typeof lockCommands.unlock; isLocked: typeof lockCommands.isLocked; extractLogs: typeof logCommands.extractLogs; supportedLogTypes: import("@appium/types").LogDefRecord; startLogCapture: typeof logCommands.startLogCapture; mobileStartLogsBroadcast: typeof logCommands.mobileStartLogsBroadcast; mobileStopLogsBroadcast: typeof logCommands.mobileStopLogsBroadcast; back: typeof navigationCommands.back; forward: typeof navigationCommands.forward; closeWindow: typeof navigationCommands.closeWindow; nativeBack: typeof navigationCommands.nativeBack; mobileDeepLink: typeof navigationCommands.mobileDeepLink; mobilePushNotification: typeof notificationsCommands.mobilePushNotification; mobileExpectNotification: typeof notificationsCommands.mobileExpectNotification; mobileSetPasteboard: typeof pasteboardCommands.mobileSetPasteboard; mobileGetPasteboard: typeof pasteboardCommands.mobileGetPasteboard; mobileStartNetworkMonitor: typeof networkMonitorCommands.mobileStartNetworkMonitor; mobileStopNetworkMonitor: typeof networkMonitorCommands.mobileStopNetworkMonitor; mobileStartPerfRecord: typeof performanceCommands.mobileStartPerfRecord; mobileStopPerfRecord: typeof performanceCommands.mobileStopPerfRecord; mobileResetPermission: typeof permissionsCommands.mobileResetPermission; mobileGetPermission: typeof permissionsCommands.mobileGetPermission; mobileSetPermissions: typeof permissionsCommands.mobileSetPermissions; proxyCommand: typeof proxyHelperCommands.proxyCommand; startAudioRecording: typeof recordAudioCommands.startAudioRecording; stopAudioRecording: typeof recordAudioCommands.stopAudioRecording; startRecordingScreen: typeof recordScreenCommands.startRecordingScreen; stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen; mobileStartScreenRecording: typeof recordScreenCommands.mobileStartScreenRecording; mobileStopScreenRecording: typeof recordScreenCommands.mobileStopScreenRecording; getScreenshot: typeof screenshotCommands.getScreenshot; getElementScreenshot: typeof screenshotCommands.getElementScreenshot; getViewportScreenshot: typeof screenshotCommands.getViewportScreenshot; getPageSource: typeof sourceCommands.getPageSource; mobileGetSource: typeof sourceCommands.mobileGetSource; pageLoadTimeoutW3C: typeof timeoutCommands.pageLoadTimeoutW3C; pageLoadTimeoutMJSONWP: typeof timeoutCommands.pageLoadTimeoutMJSONWP; scriptTimeoutW3C: typeof timeoutCommands.scriptTimeoutW3C; scriptTimeoutMJSONWP: typeof timeoutCommands.scriptTimeoutMJSONWP; asyncScriptTimeout: typeof timeoutCommands.asyncScriptTimeout; setPageLoadTimeout: typeof timeoutCommands.setPageLoadTimeout; setAsyncScriptTimeout: typeof timeoutCommands.setAsyncScriptTimeout; setFrame: typeof webCommands.setFrame; getCssProperty: typeof webCommands.getCssProperty; submit: typeof webCommands.submit; refresh: typeof webCommands.refresh; getUrl: typeof webCommands.getUrl; title: typeof webCommands.title; getCookies: typeof webCommands.getCookies; setCookie: typeof webCommands.setCookie; deleteCookie: typeof webCommands.deleteCookie; deleteCookies: typeof webCommands.deleteCookies; cacheWebElement: typeof webCommands.cacheWebElement; cacheWebElements: typeof webCommands.cacheWebElements; executeAtom: typeof webCommands.executeAtom; executeAtomAsync: typeof webCommands.executeAtomAsync; getAtomsElement: typeof webCommands.getAtomsElement; convertElementsForAtoms: typeof webCommands.convertElementsForAtoms; getElementId: typeof webCommands.getElementId; hasElementId: typeof webCommands.hasElementId; findWebElementOrElements: typeof webCommands.findWebElementOrElements; clickWebCoords: typeof webCommands.clickWebCoords; getSafariIsIphone: typeof webCommands.getSafariIsIphone; getSafariDeviceSize: typeof webCommands.getSafariDeviceSize; getSafariIsNotched: typeof webCommands.getSafariIsNotched; getExtraTranslateWebCoordsOffset: typeof webCommands.getExtraTranslateWebCoordsOffset; getExtraNativeWebTapOffset: typeof webCommands.getExtraNativeWebTapOffset; nativeWebTap: typeof webCommands.nativeWebTap; translateWebCoords: typeof webCommands.translateWebCoords; checkForAlert: typeof webCommands.checkForAlert; waitForAtom: typeof webCommands.waitForAtom; mobileWebNav: typeof webCommands.mobileWebNav; getWdaLocalhostRoot: typeof webComman