@appium/base-driver
Version:
Base driver class for Appium drivers
849 lines • 27.7 kB
TypeScript
import type { HTTPMethod } from '@appium/types';
/**
* Define the routes: mapping of HTTP methods to particular driver commands, and
* any parameters that are expected in a request. Parameters can be `required` or
* `optional`.
*/
export declare const METHOD_MAP: {
readonly '/session': {
readonly POST: {
readonly command: "createSession";
readonly payloadParams: {
readonly optional: readonly ["capabilities", "capabilities", "capabilities"];
};
};
};
readonly '/session/:sessionId': {
readonly GET: {
readonly command: "getSession";
readonly deprecated: true;
};
readonly DELETE: {
readonly command: "deleteSession";
};
};
readonly '/status': {
readonly GET: {
readonly command: "getStatus";
};
};
readonly '/session/:sessionId/timeouts': {
readonly GET: {
readonly command: "getTimeouts";
};
readonly POST: {
readonly command: "timeouts";
readonly payloadParams: {
readonly optional: readonly ["type", "ms", "script", "pageLoad", "implicit"];
};
};
};
readonly '/session/:sessionId/url': {
readonly GET: {
readonly command: "getUrl";
};
readonly POST: {
readonly command: "setUrl";
readonly payloadParams: {
readonly required: readonly ["url"];
};
};
};
readonly '/session/:sessionId/forward': {
readonly POST: {
readonly command: "forward";
};
};
readonly '/session/:sessionId/back': {
readonly POST: {
readonly command: "back";
};
};
readonly '/session/:sessionId/refresh': {
readonly POST: {
readonly command: "refresh";
};
};
readonly '/session/:sessionId/title': {
readonly GET: {
readonly command: "title";
};
};
readonly '/session/:sessionId/window': {
readonly GET: {
readonly command: "getWindowHandle";
};
readonly POST: {
readonly command: "setWindow";
readonly payloadParams: {
readonly required: readonly ["handle"];
};
};
readonly DELETE: {
readonly command: "closeWindow";
};
};
readonly '/session/:sessionId/window/handles': {
readonly GET: {
readonly command: "getWindowHandles";
};
};
readonly '/session/:sessionId/window/new': {
readonly POST: {
readonly command: "createNewWindow";
readonly payloadParams: {
readonly optional: readonly ["type"];
};
};
};
readonly '/session/:sessionId/frame': {
readonly POST: {
readonly command: "setFrame";
readonly payloadParams: {
readonly required: readonly ["id"];
};
};
};
readonly '/session/:sessionId/frame/parent': {
readonly POST: {
readonly command: "switchToParentFrame";
};
};
readonly '/session/:sessionId/window/rect': {
readonly GET: {
readonly command: "getWindowRect";
};
readonly POST: {
readonly command: "setWindowRect";
readonly payloadParams: {
readonly optional: readonly ["x", "y", "width", "height"];
};
};
};
readonly '/session/:sessionId/window/maximize': {
readonly POST: {
readonly command: "maximizeWindow";
};
};
readonly '/session/:sessionId/window/minimize': {
readonly POST: {
readonly command: "minimizeWindow";
};
};
readonly '/session/:sessionId/window/fullscreen': {
readonly POST: {
readonly command: "fullScreenWindow";
};
};
readonly '/session/:sessionId/element/active': {
readonly GET: {
readonly command: "active";
};
};
readonly '/session/:sessionId/element/:elementId/shadow': {
readonly GET: {
readonly command: "elementShadowRoot";
};
};
readonly '/session/:sessionId/element': {
readonly POST: {
readonly command: "findElement";
readonly payloadParams: {
readonly required: readonly ["using", "value"];
};
};
};
readonly '/session/:sessionId/elements': {
readonly POST: {
readonly command: "findElements";
readonly payloadParams: {
readonly required: readonly ["using", "value"];
};
};
};
readonly '/session/:sessionId/element/:elementId/element': {
readonly POST: {
readonly command: "findElementFromElement";
readonly payloadParams: {
readonly required: readonly ["using", "value"];
};
};
};
readonly '/session/:sessionId/element/:elementId/elements': {
readonly POST: {
readonly command: "findElementsFromElement";
readonly payloadParams: {
readonly required: readonly ["using", "value"];
};
};
};
readonly '/session/:sessionId/shadow/:shadowId/element': {
readonly POST: {
readonly command: "findElementFromShadowRoot";
readonly payloadParams: {
readonly required: readonly ["using", "value"];
};
};
};
readonly '/session/:sessionId/shadow/:shadowId/elements': {
readonly POST: {
readonly command: "findElementsFromShadowRoot";
readonly payloadParams: {
readonly required: readonly ["using", "value"];
};
};
};
readonly '/session/:sessionId/element/:elementId/selected': {
readonly GET: {
readonly command: "elementSelected";
};
};
readonly '/session/:sessionId/element/:elementId/displayed': {
readonly GET: {
readonly command: "elementDisplayed";
};
};
readonly '/session/:sessionId/element/:elementId/attribute/:name': {
readonly GET: {
readonly command: "getAttribute";
};
};
readonly '/session/:sessionId/element/:elementId/property/:name': {
readonly GET: {
readonly command: "getProperty";
};
};
readonly '/session/:sessionId/element/:elementId/css/:propertyName': {
readonly GET: {
readonly command: "getCssProperty";
};
};
readonly '/session/:sessionId/element/:elementId/text': {
readonly GET: {
readonly command: "getText";
};
};
readonly '/session/:sessionId/element/:elementId/name': {
readonly GET: {
readonly command: "getName";
};
};
readonly '/session/:sessionId/element/:elementId/rect': {
readonly GET: {
readonly command: "getElementRect";
};
};
readonly '/session/:sessionId/element/:elementId/enabled': {
readonly GET: {
readonly command: "elementEnabled";
};
};
readonly '/session/:sessionId/element/:elementId/computedrole': {
readonly GET: {
readonly command: "getComputedRole";
};
};
readonly '/session/:sessionId/element/:elementId/computedlabel': {
readonly GET: {
readonly command: "getComputedLabel";
};
};
readonly '/session/:sessionId/element/:elementId/click': {
readonly POST: {
readonly command: "click";
};
};
readonly '/session/:sessionId/element/:elementId/clear': {
readonly POST: {
readonly command: "clear";
};
};
readonly '/session/:sessionId/element/:elementId/value': {
readonly POST: {
readonly command: "setValue";
readonly payloadParams: {
readonly required: readonly ["text"];
};
};
};
readonly '/session/:sessionId/source': {
readonly GET: {
readonly command: "getPageSource";
};
};
readonly '/session/:sessionId/execute/sync': {
readonly POST: {
readonly command: "execute";
readonly payloadParams: {
readonly required: readonly ["script", "args"];
};
};
};
readonly '/session/:sessionId/execute/async': {
readonly POST: {
readonly command: "executeAsync";
readonly payloadParams: {
readonly required: readonly ["script", "args"];
};
};
};
readonly '/session/:sessionId/cookie': {
readonly GET: {
readonly command: "getCookies";
};
readonly POST: {
readonly command: "setCookie";
readonly payloadParams: {
readonly required: readonly ["cookie"];
};
};
readonly DELETE: {
readonly command: "deleteCookies";
};
};
readonly '/session/:sessionId/cookie/:name': {
readonly GET: {
readonly command: "getCookie";
};
readonly DELETE: {
readonly command: "deleteCookie";
};
};
readonly '/session/:sessionId/actions': {
readonly POST: {
readonly command: "performActions";
readonly payloadParams: {
readonly required: readonly ["actions"];
};
};
readonly DELETE: {
readonly command: "releaseActions";
};
};
readonly '/session/:sessionId/alert/dismiss': {
readonly POST: {
readonly command: "postDismissAlert";
};
};
readonly '/session/:sessionId/alert/accept': {
readonly POST: {
readonly command: "postAcceptAlert";
};
};
readonly '/session/:sessionId/alert/text': {
readonly GET: {
readonly command: "getAlertText";
};
readonly POST: {
readonly command: "setAlertText";
readonly payloadParams: {
readonly required: readonly ["text"];
};
};
};
readonly '/session/:sessionId/screenshot': {
readonly GET: {
readonly command: "getScreenshot";
};
};
readonly '/session/:sessionId/element/:elementId/screenshot': {
readonly GET: {
readonly command: "getElementScreenshot";
};
};
readonly '/session/:sessionId/print': {
readonly POST: {
readonly command: "printPage";
readonly payloadParams: {
readonly optional: readonly ["orientation", "scale", "background", "page", "margin", "shrinkToFit", "pageRanges"];
};
};
};
readonly '/session/:sessionId/ime/available_engines': {
readonly GET: {
readonly command: "availableIMEEngines";
readonly deprecated: true;
};
};
readonly '/session/:sessionId/ime/active_engine': {
readonly GET: {
readonly command: "getActiveIMEEngine";
readonly deprecated: true;
};
};
readonly '/session/:sessionId/ime/activated': {
readonly GET: {
readonly command: "isIMEActivated";
readonly deprecated: true;
};
};
readonly '/session/:sessionId/ime/deactivate': {
readonly POST: {
readonly command: "deactivateIMEEngine";
readonly deprecated: true;
};
};
readonly '/session/:sessionId/ime/activate': {
readonly POST: {
readonly command: "activateIMEEngine";
readonly payloadParams: {
readonly required: readonly ["engine"];
};
readonly deprecated: true;
};
};
readonly '/session/:sessionId/orientation': {
readonly GET: {
readonly command: "getOrientation";
};
readonly POST: {
readonly command: "setOrientation";
readonly payloadParams: {
readonly required: readonly ["orientation"];
};
};
};
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;
};
};
readonly '/session/:sessionId/rotation': {
readonly GET: {
readonly command: "getRotation";
};
readonly POST: {
readonly command: "setRotation";
readonly payloadParams: {
readonly required: readonly ["x", "y", "z"];
};
};
};
readonly '/session/:sessionId/context': {
readonly GET: {
readonly command: "getCurrentContext";
};
readonly POST: {
readonly command: "setContext";
readonly payloadParams: {
readonly required: readonly ["name"];
};
};
};
readonly '/session/:sessionId/contexts': {
readonly GET: {
readonly command: "getContexts";
};
};
readonly '/session/:sessionId/network_connection': {
readonly GET: {
readonly command: "getNetworkConnection";
readonly deprecated: true;
};
readonly POST: {
readonly command: "setNetworkConnection";
readonly payloadParams: {
readonly unwrap: "parameters";
readonly required: readonly ["type"];
};
readonly deprecated: true;
};
};
readonly '/appium/sessions': {
readonly GET: {
readonly command: "getAppiumSessions";
};
};
readonly '/session/:sessionId/appium/capabilities': {
readonly GET: {
readonly command: "getAppiumSessionCapabilities";
};
};
readonly '/session/:sessionId/appium/settings': {
readonly POST: {
readonly command: "updateSettings";
readonly payloadParams: {
readonly required: readonly ["settings"];
};
};
readonly GET: {
readonly command: "getSettings";
};
};
readonly '/session/:sessionId/appium/commands': {
readonly GET: {
readonly command: "listCommands";
};
};
readonly '/session/:sessionId/appium/extensions': {
readonly GET: {
readonly command: "listExtensions";
};
};
readonly '/session/:sessionId/appium/events': {
readonly POST: {
readonly command: "getLogEvents";
readonly payloadParams: {
readonly optional: readonly ["type"];
};
};
};
readonly '/session/:sessionId/appium/log_event': {
readonly POST: {
readonly command: "logCustomEvent";
readonly payloadParams: {
readonly required: readonly ["vendor", "event"];
};
};
};
readonly '/session/:sessionId/appium/device/system_time': {
readonly GET: {
readonly command: "getDeviceTime";
};
readonly POST: {
readonly command: "getDeviceTime";
readonly payloadParams: {
readonly optional: readonly ["format"];
};
};
};
readonly '/session/:sessionId/appium/device/activate_app': {
readonly POST: {
readonly command: "activateApp";
readonly payloadParams: {
readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
readonly optional: readonly ["options"];
};
};
};
readonly '/session/:sessionId/appium/device/terminate_app': {
readonly POST: {
readonly command: "terminateApp";
readonly payloadParams: {
readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
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 '/session/:sessionId/appium/device/install_app': {
readonly POST: {
readonly command: "installApp";
readonly payloadParams: {
readonly required: readonly ["appPath"];
readonly optional: readonly ["options"];
};
};
};
readonly '/session/:sessionId/appium/device/remove_app': {
readonly POST: {
readonly command: "removeApp";
readonly payloadParams: {
readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
readonly optional: readonly ["options"];
};
};
};
readonly '/session/:sessionId/appium/device/app_installed': {
readonly POST: {
readonly command: "isAppInstalled";
readonly payloadParams: {
readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
};
};
};
readonly '/session/:sessionId/appium/device/hide_keyboard': {
readonly POST: {
readonly command: "hideKeyboard";
readonly payloadParams: {
readonly optional: readonly ["strategy", "key", "keyCode", "keyName"];
};
};
};
readonly '/session/:sessionId/appium/device/is_keyboard_shown': {
readonly GET: {
readonly command: "isKeyboardShown";
};
};
readonly '/session/:sessionId/appium/device/push_file': {
readonly POST: {
readonly command: "pushFile";
readonly payloadParams: {
readonly required: readonly ["path", "data"];
};
};
};
readonly '/session/:sessionId/appium/device/pull_file': {
readonly POST: {
readonly command: "pullFile";
readonly payloadParams: {
readonly required: readonly ["path"];
};
};
};
readonly '/session/:sessionId/appium/device/pull_folder': {
readonly POST: {
readonly command: "pullFolder";
readonly payloadParams: {
readonly required: readonly ["path"];
};
};
};
readonly '/session/:sessionId/receive_async_response': {
readonly POST: {
readonly command: "receiveAsyncResponse";
readonly payloadParams: {
readonly required: readonly ["status", "value"];
};
readonly deprecated: true;
};
};
readonly '/session/:sessionId/element/:elementId': {
readonly GET: {};
};
readonly '/session/:sessionId/se/log': {
readonly POST: {
readonly command: "getLog";
readonly payloadParams: {
readonly required: readonly ["type"];
};
};
};
readonly '/session/:sessionId/se/log/types': {
readonly GET: {
readonly command: "getLogTypes";
};
};
readonly '/session/:sessionId/:vendor/cdp/execute': {
readonly POST: {
readonly command: "executeCdp";
readonly payloadParams: {
readonly required: readonly ["cmd", "params"];
};
};
};
readonly '/session/:sessionId/reporting/generate_test_report': {
readonly POST: {
readonly command: "generateTestReport";
readonly payloadParams: {
readonly required: readonly ["message"];
readonly optional: readonly ["group"];
};
};
};
readonly '/session/:sessionId/permissions': {
readonly POST: {
readonly command: "setPermissions";
readonly payloadParams: {
readonly required: readonly ["descriptor", "state"];
};
};
};
readonly '/session/:sessionId/deviceposture': {
readonly POST: {
readonly command: "setDevicePosture";
readonly payloadParams: {
readonly required: readonly ["posture"];
};
};
readonly DELETE: {
readonly command: "clearDevicePosture";
};
};
readonly '/session/:sessionId/sensor': {
readonly POST: {
readonly command: "createVirtualSensor";
readonly payloadParams: {
readonly required: readonly ["type"];
readonly optional: readonly ["connected", "maxSamplingFrequency", "minSamplingFrequency"];
};
};
};
readonly '/session/:sessionId/sensors/:sensorType': {
readonly GET: {
readonly command: "getVirtualSensorInfo";
};
readonly POST: {
readonly command: "updateVirtualSensorReading";
readonly payloadParams: {
readonly required: readonly ["reading"];
};
};
readonly DELETE: {
readonly command: "deleteVirtualSensor";
};
};
readonly '/session/:sessionId/custom-handlers/set-mode': {
readonly POST: {
readonly command: "setRPHRegistrationMode";
readonly payloadParams: {
readonly required: readonly ["mode"];
};
};
};
readonly '/session/:sessionId/webauthn/authenticator': {
readonly POST: {
readonly command: "addVirtualAuthenticator";
readonly payloadParams: {
readonly required: readonly ["protocol", "transport"];
readonly optional: readonly ["hasResidentKey", "hasUserVerification", "isUserConsenting", "isUserVerified"];
};
};
};
readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId': {
readonly DELETE: {
readonly command: "removeVirtualAuthenticator";
};
};
readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/credential': {
readonly POST: {
readonly command: "addAuthCredential";
readonly payloadParams: {
readonly required: readonly ["credentialId", "isResidentCredential", "rpId", "privateKey"];
readonly optional: readonly ["userHandle", "signCount"];
};
};
};
readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/credentials': {
readonly GET: {
readonly command: "getAuthCredential";
};
readonly DELETE: {
readonly command: "removeAllAuthCredentials";
};
};
readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/credentials/:credentialId': {
readonly DELETE: {
readonly command: "removeAuthCredential";
};
};
readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/uv': {
readonly POST: {
readonly command: "setUserAuthVerified";
readonly payloadParams: {
readonly required: readonly ["isUserVerified"];
};
};
};
readonly '/session/:sessionId/secure-payment-confirmation/set-mode': {
readonly POST: {
readonly command: "setSPCTransactionMode";
readonly payloadParams: {
readonly required: readonly ["mode"];
};
};
};
readonly '/session/:sessionId/fedcm/canceldialog': {
readonly POST: {
readonly command: "fedCMCancelDialog";
};
};
readonly '/session/:sessionId/fedcm/selectaccount': {
readonly POST: {
readonly command: "fedCMSelectAccount";
readonly payloadParams: {
readonly required: readonly ["accountIndex"];
};
};
};
readonly '/session/:sessionId/fedcm/clickdialogbutton': {
readonly POST: {
readonly command: "fedCMClickDialogButton";
readonly payloadParams: {
readonly required: readonly ["dialogButton"];
};
};
};
readonly '/session/:sessionId/fedcm/accountlist': {
readonly GET: {
readonly command: "fedCMGetAccounts";
};
};
readonly '/session/:sessionId/fedcm/gettitle': {
readonly GET: {
readonly command: "fedCMGetTitle";
};
};
readonly '/session/:sessionId/fedcm/getdialogtype': {
readonly GET: {
readonly command: "fedCMGetDialogType";
};
};
readonly '/session/:sessionId/fedcm/setdelayenabled': {
readonly POST: {
readonly command: "fedCMSetDelayEnabled";
readonly payloadParams: {
readonly required: readonly ["enabled"];
};
};
};
readonly '/session/:sessionId/fedcm/resetcooldown': {
readonly POST: {
readonly command: "fedCMResetCooldown";
};
};
readonly '/session/:sessionId/pressuresource': {
readonly POST: {
readonly command: "createVirtualPressureSource";
readonly payloadParams: {
readonly required: readonly ["type"];
readonly optional: readonly ["supported"];
};
};
};
readonly '/session/:sessionId/pressuresource/:pressureSourceType': {
readonly POST: {
readonly command: "updateVirtualPressureSource";
readonly payloadParams: {
readonly required: readonly ["sample"];
};
};
readonly DELETE: {
readonly command: "deleteVirtualPressureSource";
};
};
readonly '/session/:sessionId/privacy': {
readonly GET: {
readonly command: "getGlobalPrivacyControl";
};
readonly POST: {
readonly command: "setGlobalPrivacyControl";
readonly payloadParams: {
readonly required: readonly ["gpc"];
};
};
};
readonly '/session/:sessionId/storageaccess': {
readonly POST: {
readonly command: "setStorageAccess";
readonly payloadParams: {
readonly required: readonly ["blocked", "origin"];
};
};
};
};
export declare const ALL_COMMANDS: any[];
/**
* Resolve a WebDriver URL path and HTTP method to a driver command name from {@link METHOD_MAP}.
* @param endpoint - Request URL or path (may include base path)
* @param method - HTTP method (used when one path maps to multiple commands)
* @param basePath - Optional base path prefix to strip before matching
*/
export declare function routeToCommandName(endpoint: string, method?: HTTPMethod, basePath?: string): string | undefined;
export declare const NO_SESSION_ID_COMMANDS: string[];
//# sourceMappingURL=routes.d.ts.map