An abstraction of the Mobile JSON Wire Protocol (spec) with Appium extensions (as specified here).
The Mobile JSON Wire Protocol package gives access to a number of endpoints documented here.
The basic class, subclassed by drivers that will use the protocol.
This function gives drivers access to the protocol routes. It returns a function that itself will take an Express application.
Checks if the command
needs to have a session associated with it.
An array of all the commands that will be dispatched to by the Mobile JSON Wire Proxy endpoints.
An array of commands that do not need a session associated with them.
This package exports a number of classes and methods related to Selenium error handling. There are error classes for each Selenium error type (see here, as well as the context errors in the mobile spec). The list of errors, and their meanings, can be found here.
There are, in addition, two helper methods for dealing with errors
isErrorType (err, type)
- checks if the
err
object is a Mobile JSON Wire Protocol error of a particular type - arguments
err
- the error object to testtype
- the error class to test against
- usage
import { errors, isErrorType } from 'mobile-json-wire-protocol'; try { // do some stuff... } catch (err) { if (isErrorType(err, errors.InvalidCookieDomainError)) { // process... } }
errorFromCode (code, message)
- retrieve the appropriate error for an error code, with the supplied message.
- arguments
code
- the integer error code for a Mobile JSON Wire Protocol errormessage
- the message to be encapsulated in the error
- usage
import { errors, errorFromCode } from 'mobile-json-wire-protocol'; let error = errorFromCode(6, 'an error has occurred'); console.log(error instanceof errors.NoSuchDriverError); // => true console.log(error.message === 'an error has occurred'); // => true