UNPKG

@appium/base-driver

Version:

Base driver class for Appium drivers

126 lines (124 loc) 3.75 kB
export const codes = { Success: { code: 0, summary: 'The command executed successfully.', }, NoSuchDriver: { code: 6, summary: 'A session is either terminated or not started', }, NoSuchElement: { code: 7, summary: 'An element could not be located on the page using the given search parameters.', }, NoSuchFrame: { code: 8, summary: 'A request to switch to a frame could not be satisfied because the frame could not be found.', }, UnknownCommand: { code: 9, summary: 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource.', }, StaleElementReference: { code: 10, summary: 'An element command failed because the referenced element is no longer attached to the DOM.', }, ElementNotVisible: { code: 11, summary: 'An element command could not be completed because the element is not visible on the page.', }, InvalidElementState: { code: 12, summary: 'An element command could not be completed because the element is in an invalid state (e.g. attempting to click a disabled element).', }, UnknownError: { code: 13, summary: 'An unknown server-side error occurred while processing the command.', }, ElementIsNotSelectable: { code: 15, summary: 'An attempt was made to select an element that cannot be selected.', }, JavaScriptError: { code: 17, summary: 'An error occurred while executing user supplied JavaScript.', }, XPathLookupError: { code: 19, summary: 'An error occurred while searching for an element by XPath.', }, Timeout: { code: 21, summary: 'An operation did not complete before its timeout expired.', }, NoSuchWindow: { code: 23, summary: 'A request to switch to a different window could not be satisfied because the window could not be found.', }, InvalidCookieDomain: { code: 24, summary: 'An illegal attempt was made to set a cookie under a different domain than the current page.', }, UnableToSetCookie: { code: 25, summary: "A request to set a cookie's value could not be satisfied.", }, UnexpectedAlertOpen: { code: 26, summary: 'A modal dialog was open, blocking this operation', }, NoAlertOpenError: { code: 27, summary: 'An attempt was made to operate on a modal dialog when one was not open.', }, ScriptTimeout: { code: 28, summary: 'A script did not complete before its timeout expired.', }, InvalidElementCoordinates: { code: 29, summary: 'The coordinates provided to an interactions operation are invalid.', }, IMENotAvailable: { code: 30, summary: 'IME was not available.', }, IMEEngineActivationFailed: { code: 31, summary: 'An IME engine could not be started.', }, InvalidSelector: { code: 32, summary: 'Argument was an invalid selector (e.g. XPath/CSS).', }, SessionNotCreatedException: { code: 33, summary: 'A new session could not be created.', }, MoveTargetOutOfBounds: { code: 34, summary: 'Target provided for a move action is out of bounds.', }, NoSuchContext: { code: 35, summary: 'No such context found.', }, } as const; /** * Returns the summary message for a JSONWP status code. * * @param code - Numeric status code (e.g. 0, 7) or string representation * @returns Human-readable summary for the code, or 'An error occurred' if unknown */ export function getSummaryByCode(code: number | string): string { const parsed = parseInt(String(code), 10); const match = Object.values(codes).find((obj) => obj.code === parsed); return match?.summary ?? 'An error occurred'; }