appium-mac2-driver
Version:
XCTest-based Appium driver for macOS apps automation
312 lines • 13.1 kB
TypeScript
export class Mac2Driver extends BaseDriver<any, import("@appium/types").StringRecord, import("@appium/types").StringRecord, import("@appium/types").DefaultCreateSessionResult<any>, void, import("@appium/types").StringRecord> {
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";
};
};
constructor(opts?: {});
/** @type {boolean} */
isProxyActive: boolean;
/** @type {import('./wda-mac').WDAMacServer} */
wda: import("./wda-mac").WDAMacServer;
/** @type {nativeScreenRecordingCommands.NativeVideoChunksBroadcaster} */
_videoChunksBroadcaster: nativeScreenRecordingCommands.NativeVideoChunksBroadcaster;
desiredCapConstraints: {
systemPort: {
isNumber: boolean;
};
systemHost: {
isString: boolean;
};
showServerLogs: {
isBoolean: boolean;
};
bootstrapRoot: {
isString: boolean;
};
serverStartupTimeout: {
isNumber: boolean;
};
bundleId: {
isString: boolean;
};
arguments: {
isArray: boolean;
};
environment: {
isObject: boolean;
};
noReset: {
isBoolean: boolean;
};
skipAppKill: {
isBoolean: boolean;
};
prerun: {
isObject: boolean;
};
postrun: {
isObject: boolean;
};
webDriverAgentMacUrl: {
isString: boolean;
};
appPath: {
isString: boolean;
};
appLocale: {
isObject: boolean;
};
appTimeZone: {
isString: boolean;
};
initialDeeplinkUrl: {
isString: boolean;
};
};
settings: DeviceSettings<{}>;
onSettingsUpdate(key: any, value: any): Promise<any>;
resetState(): void;
proxyReqRes: any;
_screenRecorder: any;
proxyActive(sessionId: any): boolean;
getProxyAvoidList(sessionId: any): import("@appium/types").RouteMatcher[];
canProxy(): boolean;
proxyCommand(url: any, method: any, body?: null): Promise<any>;
getStatus(): Promise<any>;
getWindowRect(): Promise<any>;
createSession(...args: any[]): Promise<(string | import("@appium/types").DriverCaps<any>)[]>;
deleteSession(): Promise<void>;
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;
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;
import { BaseDriver } from 'appium/driver';
import * as nativeScreenRecordingCommands from './commands/native-record-screen';
import { DeviceSettings } from 'appium/driver';
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';
//# sourceMappingURL=driver.d.ts.map