appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
1,135 lines • 52.8 kB
TypeScript
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 pcapCommands from './commands/pcap';
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 { RealDevice } from './device/real-device-management';
import { AppInfosCache } from './app-infos-cache';
import type { CalibrationData, AsyncPromise, 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 { TrafficCapture } from './commands/pcap';
import type { ScreenRecorder } from './commands/recordscreen';
import type { DVTServiceWithConnection } from 'appium-ios-remotexpc';
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 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/receive_async_response': {
readonly POST: {
readonly command: "receiveAsyncResponse";
readonly payloadParams: {
readonly required: readonly ["response"];
};
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"];
};
};
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: listXCTestsInTestBundle': {
readonly command: "mobileListXCTestsInTestBundle";
readonly params: {
readonly required: readonly ["bundle"];
};
};
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: startPcap': {
readonly command: "mobileStartPcap";
readonly params: {
readonly optional: readonly ["timeLimitSec", "forceRestart"];
};
};
readonly 'mobile: stopPcap': {
readonly command: "mobileStopPcap";
};
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: 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;
asyncPromise: AsyncPromise | undefined;
asyncWaitMs: number | undefined;
_syslogWebsocketListener: ((logRecord: {
message: string;
}) => void) | null;
_perfRecorders: PerfRecorder[];
webElementsCache: LRUCache<any, any>;
_conditionInducerService: any | null;
_remoteXPCConditionInducerConnection: DVTServiceWithConnection | null;
_isSafariIphone: boolean | undefined;
_isSafariNotched: boolean | undefined;
_waitingAtoms: WaitingAtoms;
lifecycleData: LifecycleData;
_audioRecorder: AudioRecorder | null;
xcodeVersion: XcodeVersion | undefined;
_trafficCapture: TrafficCapture | 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;
constructor(opts: XCUITestDriverOpts, shouldValidateCaps?: boolean);
createSession(w3cCaps1: W3CXCUITestDriverCaps, w3cCaps2?: W3CXCUITestDriverCaps, w3cCaps3?: W3CXCUITestDriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<XCUITestDriverConstraints>>;
deleteSession(sessionId?: string): Promise<void>;
executeCommand(cmd: string, ...args: any[]): Promise<any>;
proxyActive(): boolean;
getProxyAvoidList(): RouteMatcher[];
canProxy(): boolean;
validateLocatorStrategy(strategy: string): void;
validateDesiredCaps(caps: any): caps is DriverCaps<XCUITestDriverConstraints>;
get wda(): WebDriverAgent;
get remote(): RemoteDebugger;
get driverData(): Record<string, any>;
get device(): Simulator | RealDevice;
isSafari(): boolean;
isRealDevice(): boolean;
isSimulator(): boolean;
isXcodebuildNeeded(): boolean;
onSettingsUpdate(key: string, value: any): Promise<any>;
getStatus(): Promise<Record<string, any>>;
mergeCliArgsToOpts(): boolean;
handleMjpegOptions(): Promise<void>;
allocateMjpegServerPort(): Promise<void>;
getDefaultUrl(): string;
start(): Promise<void>;
runReset(enforceSimulatorShutdown?: boolean): Promise<void>;
stop(): Promise<void>;
initSimulator(): Promise<void>;
startWda(): Promise<void>;
configureApp(): Promise<void>;
determineDevice(): Promise<{
device: Simulator | RealDevice;
realDevice: boolean;
udid: string;
}>;
startSim(): Promise<void>;
createSim(): Promise<Simulator>;
startWdaSession(bundleId?: string, processArguments?: any): Promise<void>;
checkAutInstallationState(opts?: AutInstallationStateOptions): Promise<AutInstallationState>;
installAUT(): Promise<void>;
installOtherApps(otherApps: string | string[]): Promise<void>;
setInitialOrientation(orientation: string): Promise<void>;
reset(): Promise<never>;
preparePreinstalledWda(): Promise<void>;
resetIos(): void;
_getCommandTimeout(cmdName?: string): number | undefined;
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;
useNewSafari: typeof contextCommands.useNewSafari;
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;
receiveAsyncResponse: typeof executeCommands.receiveAsyncResponse;
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;
mobileStartPcap: typeof pcapCommands.mobileStartPcap;
mobileStopPcap: typeof pcapCommands.mobileStopPcap;
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;
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.delete