UNPKG

appium-mac2-driver

Version:

XCTest-based Appium driver for macOS apps automation

275 lines 12.8 kB
import type { RouteMatcher, HTTPMethod, HTTPBody, DefaultCreateSessionResult, DriverData, InitialOpts, StringRecord, ExternalDriver, W3CDriverCaps } from '@appium/types'; import { BaseDriver } from 'appium/driver'; import { type WDAMacServer } from './wda-mac'; import { type Mac2Constraints } from './constraints'; import * as appManagemenetCommands from './commands/app-management'; import * as appleScriptCommands from './commands/applescript'; import * as executeCommands from './commands/execute'; import * as findCommands from './commands/find'; import * as gesturesCommands from './commands/gestures'; import * as navigationCommands from './commands/navigation'; import * as recordScreenCommands from './commands/record-screen'; import * as screenshotCommands from './commands/screenshots'; import * as sourceCommands from './commands/source'; import * as clipboardCommands from './commands/clipboard'; import * as nativeScreenRecordingCommands from './commands/native-record-screen'; export declare class Mac2Driver extends BaseDriver<Mac2Constraints, StringRecord> implements ExternalDriver<Mac2Constraints, string, StringRecord> { private isProxyActive; private _wda; _videoChunksBroadcaster: nativeScreenRecordingCommands.NativeVideoChunksBroadcaster; _screenRecorder: recordScreenCommands.ScreenRecorder | null; proxyReqRes: (...args: any) => any; static newMethodMap: { 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"]; }; }; }; }; static executeMethodMap: { readonly 'macos: click': { readonly command: "macosClick"; readonly params: { readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: scroll': { readonly command: "macosScroll"; readonly params: { readonly required: readonly ["deltaX", "deltaY"]; readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: swipe': { readonly command: "macosSwipe"; readonly params: { readonly required: readonly ["direction"]; readonly optional: readonly ["elementId", "x", "y", "velocity", "keyModifierFlags"]; }; }; readonly 'macos: rightClick': { readonly command: "macosRightClick"; readonly params: { readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: hover': { readonly command: "macosHover"; readonly params: { readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: doubleClick': { readonly command: "macosDoubleClick"; readonly params: { readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: clickAndDrag': { readonly command: "macosClickAndDrag"; readonly params: { readonly required: readonly ["duration"]; readonly optional: readonly ["sourceElementId", "destinationElementId", "startX", "startY", "endX", "endY", "keyModifierFlags"]; }; }; readonly 'macos: clickAndDragAndHold': { readonly command: "macosClickAndDragAndHold"; readonly params: { readonly required: readonly ["duration", "holdDuration"]; readonly optional: readonly ["sourceElementId", "destinationElementId", "startX", "startY", "endX", "endY", "velocity", "keyModifierFlags"]; }; }; readonly 'macos: keys': { readonly command: "macosKeys"; readonly params: { readonly required: readonly ["keys"]; readonly optional: readonly ["elementId"]; }; }; readonly 'macos: tap': { readonly command: "macosTap"; readonly params: { readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: doubleTap': { readonly command: "macosDoubleTap"; readonly params: { readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: press': { readonly command: "macosPressAndHold"; readonly params: { readonly required: readonly ["duration"]; readonly optional: readonly ["elementId", "x", "y", "keyModifierFlags"]; }; }; readonly 'macos: pressAndDrag': { readonly command: "macosPressAndDrag"; readonly params: { readonly required: readonly ["duration"]; readonly optional: readonly ["sourceElementId", "destinationElementId", "startX", "startY", "endX", "endY", "keyModifierFlags"]; }; }; readonly 'macos: pressAndDragAndHold': { readonly command: "macosPressAndDragAndHold"; readonly params: { readonly required: readonly ["duration", "holdDuration"]; readonly optional: readonly ["sourceElementId", "destinationElementId", "startX", "startY", "endX", "endY", "velocity", "keyModifierFlags"]; }; }; readonly 'macos: source': { readonly command: "macosSource"; readonly params: { readonly optional: readonly ["format"]; }; }; readonly 'macos: deepLink': { readonly command: "macosDeepLink"; readonly params: { readonly required: readonly ["url"]; readonly optional: readonly ["bundleId"]; }; }; readonly 'macos: screenshots': { readonly command: "macosScreenshots"; readonly params: { readonly optional: readonly ["displayId"]; }; }; readonly 'macos: appleScript': { readonly command: "macosExecAppleScript"; readonly params: { readonly optional: readonly ["script", "language", "command", "cwd", "timeout"]; }; }; readonly 'macos: launchApp': { readonly command: "macosLaunchApp"; readonly params: { readonly optional: readonly ["bundleId", "path", "arguments", "environment"]; }; }; readonly 'macos: activateApp': { readonly command: "macosActivateApp"; readonly params: { readonly optional: readonly ["bundleId", "path"]; }; }; readonly 'macos: terminateApp': { readonly command: "macosTerminateApp"; readonly params: { readonly optional: readonly ["bundleId", "path"]; }; }; readonly 'macos: queryAppState': { readonly command: "macosQueryAppState"; readonly params: { readonly optional: readonly ["bundleId", "path"]; }; }; readonly 'macos: startRecordingScreen': { readonly command: "startRecordingScreen"; readonly params: { readonly required: readonly ["deviceId"]; readonly optional: readonly ["timeLimit", "videoFilter", "fps", "preset", "captureCursor", "captureClicks", "forceRestart"]; }; }; readonly 'macos: stopRecordingScreen': { readonly command: "stopRecordingScreen"; readonly params: { readonly optional: readonly ["remotePath", "user", "pass", "method", "headers", "fileFieldName", "formFields"]; }; }; readonly 'macos: startNativeScreenRecording': { readonly command: "macosStartNativeScreenRecording"; readonly params: { readonly optional: readonly ["fps", "codec", "displayId"]; }; }; readonly 'macos: getNativeScreenRecordingInfo': { readonly command: "macosGetNativeScreenRecordingInfo"; }; readonly 'macos: stopNativeScreenRecording': { readonly command: "macosStopNativeScreenRecording"; readonly params: { readonly optional: readonly ["remotePath", "user", "pass", "method", "headers", "fileFieldName", "formFields", "ignorePayload"]; }; }; readonly 'macos: listDisplays': { readonly command: "macosListDisplays"; }; readonly 'macos: getClipboard': { readonly command: "macosGetClipboard"; readonly params: { readonly optional: readonly ["contentType"]; }; }; readonly 'macos: setClipboard': { readonly command: "macosSetClipboard"; readonly params: { readonly required: readonly ["content"]; readonly optional: readonly ["contentType"]; }; }; }; constructor(opts?: InitialOpts); onSettingsUpdate(key: string, value: unknown): Promise<void>; get wda(): WDAMacServer; proxyActive(sessionId: string): boolean; getProxyAvoidList(sessionId: string): RouteMatcher[]; canProxy(): boolean; proxyCommand(url: string, method: HTTPMethod, body?: HTTPBody): Promise<any>; getStatus(): Promise<any>; getWindowRect(): Promise<any>; createSession(w3cCaps1: W3CMac2DriverCaps, w3cCaps2?: W3CMac2DriverCaps, w3cCaps3?: W3CMac2DriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<Mac2Constraints>>; deleteSession(): Promise<void>; private resetState; macosLaunchApp: typeof appManagemenetCommands.macosLaunchApp; macosActivateApp: typeof appManagemenetCommands.macosActivateApp; macosTerminateApp: typeof appManagemenetCommands.macosTerminateApp; macosQueryAppState: typeof appManagemenetCommands.macosQueryAppState; macosExecAppleScript: typeof appleScriptCommands.macosExecAppleScript; execute: typeof executeCommands.execute; findElOrEls: typeof findCommands.findElOrEls; macosSetValue: typeof gesturesCommands.macosSetValue; macosClick: typeof gesturesCommands.macosClick; macosScroll: typeof gesturesCommands.macosScroll; macosSwipe: typeof gesturesCommands.macosSwipe; macosRightClick: typeof gesturesCommands.macosRightClick; macosHover: typeof gesturesCommands.macosHover; macosDoubleClick: typeof gesturesCommands.macosDoubleClick; macosClickAndDrag: typeof gesturesCommands.macosClickAndDrag; macosClickAndDragAndHold: typeof gesturesCommands.macosClickAndDragAndHold; macosKeys: typeof gesturesCommands.macosKeys; macosPressAndHold: typeof gesturesCommands.macosPressAndHold; macosTap: typeof gesturesCommands.macosTap; macosDoubleTap: typeof gesturesCommands.macosDoubleTap; macosPressAndDrag: typeof gesturesCommands.macosPressAndDrag; macosPressAndDragAndHold: typeof gesturesCommands.macosPressAndDragAndHold; macosGetClipboard: typeof clipboardCommands.macosGetClipboard; macosSetClipboard: typeof clipboardCommands.macosSetClipboard; macosDeepLink: typeof navigationCommands.macosDeepLink; startRecordingScreen: typeof recordScreenCommands.startRecordingScreen; stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen; macosStartNativeScreenRecording: typeof nativeScreenRecordingCommands.macosStartNativeScreenRecording; macosGetNativeScreenRecordingInfo: typeof nativeScreenRecordingCommands.macosGetNativeScreenRecordingInfo; macosStopNativeScreenRecording: typeof nativeScreenRecordingCommands.macosStopNativeScreenRecording; macosListDisplays: typeof nativeScreenRecordingCommands.macosListDisplays; macosScreenshots: typeof screenshotCommands.macosScreenshots; macosSource: typeof sourceCommands.macosSource; } export default Mac2Driver; type W3CMac2DriverCaps = W3CDriverCaps<Mac2Constraints>; //# sourceMappingURL=driver.d.ts.map