Détail du package

appium-remote-debugger

appium1.1mApache-2.012.2.5

Appium proxy for Remote Debugger protocol

appium

readme

appium-remote-debugger

Release

A Node.js frontend for the Remote Debugger protocol used by Appium to connect to iOS webviews and Safari. Written using ES6+.

Safari's version of the WebKit API

Safari implements a wonky version of the WebKit API. It is not documented. The JSON version of the protocol is documented in the WebKit source code, in Source/JavaScriptCore/inspector/protocol/.

There is good documentation for the closely related API from Chrome DevTools, to be found here.

API

This is an event emitter, which emits a RemoteDebugger.EVENT_PAGE_CHANGE event when there has been a change to the page. This should be caught and handled as the calling code wishes. It also emits a RemoteDebugger.EVENT_DISCONNECT event when the server disconnects the last application connected.

The steps to using the RemoteDebugger involve instantiating an object, then running connect and selectApp. After this the instance will be listening for events from the server (i.e., the webview or browser).

Selenium "atoms"

The remote debugger uses the standard Selenium Atoms to interact with web pages. These need to be manually updated when necessary. To do so, simply update the branch in the scripts/common.mjs, by modifying the SELENIUM_BRANCH constant at the top of the file and commit them to explicitly leaves the latest target branch information. Then run npm run build:atoms, test and create a pull request with the resulting changed atoms directory.

You can set SELENIUM_GITHUB and SELENIUM_BRANCH environment variables with the npm command to customize the target repository and the target branch.

Note that to build the atoms it is required that you have the bazel tool installed. Selenium will also require that it be installed at a particular version relative to the version of Selenium that has been checked out by our build script. It is most convenient simply to install bazelisk and have it available on your PATH.

One caveat is that there are some changes that are needed for Appium, that are not yet in the Selenium codebase. See the atoms notes for details.

Test

npm test
npm e2e-test

changelog

12.2.5 (2025-06-13)

Miscellaneous Chores

  • deps-dev: bump sinon from 20.0.0 to 21.0.0 (#423) (1339caa)

12.2.4 (2025-06-10)

Miscellaneous Chores

  • deps-dev: bump @types/node from 22.15.31 to 24.0.0 (#422) (80758fb)

12.2.3 (2025-05-21)

Miscellaneous Chores

  • deps-dev: bump conventional-changelog-conventionalcommits (#421) (b2e41a7)

12.2.2 (2025-03-28)

Miscellaneous Chores

  • deps-dev: bump serve-static from 1.16.2 to 2.2.0 (#418) (a143bfc)

12.2.1 (2025-03-25)

Miscellaneous Chores

  • deps-dev: bump sinon from 19.0.5 to 20.0.0 (#417) (0a97a3b)

12.2.0 (2025-03-13)

Features

12.1.8 (2025-03-04)

Miscellaneous Chores

12.1.7 (2025-03-04)

Bug Fixes

12.1.6 (2025-02-25)

Bug Fixes

  • Properly handle wildcard while selecting apps (#411) (a6571a8)

12.1.5 (2025-01-06)

Miscellaneous Chores

  • deps-dev: bump @appium/eslint-config-appium-ts from 0.3.3 to 1.0.1 (#409) (81cc84d)

12.1.4 (2024-12-06)

Miscellaneous Chores

  • deps: bump @appium/support from 5.1.8 to 6.0.0 (#408) (3b7e773)

12.1.3 (2024-12-03)

Miscellaneous Chores

  • deps-dev: bump mocha from 10.8.2 to 11.0.1 (#407) (4f9c6ae)

12.1.2 (2024-09-13)

Miscellaneous Chores

  • deps-dev: bump sinon from 18.0.1 to 19.0.0 (#406) (ff35ca3)

12.1.1 (2024-08-11)

Bug Fixes

  • Only try to select Safari if it is enabled for automation (#404) (4621589)

12.1.0 (2024-08-11)

Features

12.0.4 (2024-08-08)

Miscellaneous Chores

12.0.3 (2024-08-08)

Bug Fixes

12.0.2 (2024-08-08)

Bug Fixes

  • Start page status monitoring on page change event as well (#402) (8f71d19)

12.0.1 (2024-08-04)

Bug Fixes

  • Properly handle protected accessors from mixin methods (#401) (f47f6af)

12.0.0 (2024-08-04)

⚠ BREAKING CHANGES

  • The following class properties have been renamed (got a leading underscore) and made protected: skippedApps clientEventListeners appDict appIdKey pageIdKey connectedDrivers currentState pageLoadDelay rpcClient pageLoading navigatingToPage pageLoadStrategy bundleId additionalBundleIds platformVersion isSafari includeSafari useNewSafari pageLoadMs garbageCollectOnExecute host port socketPath remoteDebugProxy pageReadyTimeout logAllCommunication logAllCommunicationHexDump socketChunkSize webInspectorMaxFrameLength fullPageInitialization udid
  • The following class methods have been made private: searchForApp searchForPage
  • Remove the unused RPC_RESPONSE_TIMEOUT_MS export

Features

  • Rewrite the RemoteDebugger class into typescript (#400) (ef277b3)

11.5.9 (2024-08-02)

Miscellaneous Chores

  • Replace fancy-log dependency with appium logger (#398) (0abefda)

11.5.8 (2024-08-01)

Miscellaneous Chores

11.5.7 (2024-07-31)

Bug Fixes

11.5.6 (2024-07-31)

Miscellaneous Chores

  • deps-dev: bump @types/node from 20.14.13 to 22.0.0 (#394) (6c56dec)

11.5.5 (2024-07-31)

Bug Fixes

11.5.4 (2024-07-26)

Miscellaneous Chores

11.5.3 (2024-07-25)

Bug Fixes

11.5.2 (2024-07-25)

Bug Fixes

11.5.1 (2024-07-25)

Bug Fixes

  • Returned types for cookies (13c8f15)

11.5.0 (2024-07-25)

Features

  • Refactor mixins and improve their typing (#392) (d1fda80)

11.4.2 (2024-07-24)

Miscellaneous Chores

11.4.1 (2024-07-24)

Miscellaneous Chores

11.4.0 (2024-07-24)

Features

11.3.2 (2024-07-09)

Miscellaneous Chores

11.3.1 (2024-06-20)

Miscellaneous Chores

11.3.0 (2024-06-19)

Features

  • support pageLoadStrategy in readState check (#385) (d20ba70)

11.2.0 (2024-06-19)

Features

11.1.5 (2024-06-12)

Miscellaneous Chores

  • deps: bump @appium/support from 4.5.0 to 5.0.3 (#382) (e7b3766)

11.1.4 (2024-06-04)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 23.1.1 to 24.0.0 and conventional-changelog-conventionalcommits to 8.0.0 (#380) (7577471)

11.1.3 (2024-05-16)

Miscellaneous Chores

  • Update dev dependendies (f99850a)

11.1.2 (2024-05-16)

Miscellaneous Chores

  • deps-dev: bump sinon from 17.0.2 to 18.0.0 (#379) (2cccea7)

11.1.1 (2024-04-19)

Miscellaneous Chores

11.1.0 (2024-04-16)

Features

  • update atoms to selenium 4.19.0 basis (#375) (cc5a084)

11.0.9 (2024-04-09)

Miscellaneous Chores

11.0.8 (2024-04-09)

Miscellaneous Chores

  • deps-dev: bump @typescript-eslint/parser from 6.21.0 to 7.6.0 (#374) (ce01f8a)

11.0.7 (2024-03-27)

Miscellaneous Chores

  • deps-dev: bump appium-ios-simulator from 5.5.3 to 6.1.2 (#372) (e20cbc3)

11.0.6 (2024-03-22)

Bug Fixes

11.0.5 (2024-03-22)

Bug Fixes

  • Select all available app ids for the given bundle name (#368) (c4f02b7)

11.0.4 (2024-03-07)

Miscellaneous Chores

11.0.3 (2024-02-18)

Miscellaneous Chores

11.0.2 (2024-02-14)

Bug Fixes

  • Only wait for Console.enable RPC response if page load finishes (#360) (7b9a107)

11.0.1 (2024-02-14)

Miscellaneous Chores

  • throw timeout error if Console.enable times out (#359) (1ea7086)

11.0.0 (2024-02-14)

⚠ BREAKING CHANGES

  • Removed the pageUnload API
  • Removed the waitForFrameNavigated API
  • Removed the pageLoadVerifyHook argument from waitForDom and from navToUrl APIs

Features

  • Properly perform page readiness validation (#356) (a2fbd5a)

10.2.2 (2024-02-06)

Bug Fixes

10.2.1 (2024-01-16)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 22.0.12 to 23.0.0 (#352) (c83fefd)

10.2.0 (2023-11-17)

Features

  • introduce a wildcard usage for additionalWebviewBundleIds to get webview contexts of other apps (#346) (72ee224)

10.1.7 (2023-11-06)

Miscellaneous Chores

  • deps-dev: bump @types/sinon from 10.0.20 to 17.0.0 (#345) (4d7a9b9)

10.1.6 (2023-11-01)

Miscellaneous Chores

  • deps: bump asyncbox from 2.9.4 to 3.0.0 (#344) (791d566)

10.1.5 (2023-10-31)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 21.1.2 to 22.0.6 (#343) (0b9608d)

10.1.4 (2023-10-25)

Miscellaneous Chores

  • deps-dev: bump @typescript-eslint/eslint-plugin from 5.62.0 to 6.9.0 (#342) (e705788)

10.1.3 (2023-10-24)

Miscellaneous Chores

  • deps-dev: bump sinon from 16.1.3 to 17.0.0 (#341) (379395e)

10.1.2 (2023-10-19)

Miscellaneous Chores

  • Apply minor dependency version tunings (#340) (77eb83f)
  • deps-dev: bump eslint-config-prettier from 8.10.0 to 9.0.0 (#336) (2c3c677)
  • deps-dev: bump lint-staged from 14.0.1 to 15.0.2 (#335) (962ee2b)
  • deps-dev: bump sinon from 15.2.0 to 16.1.3 (#337) (3213fba)

10.1.1 (2023-09-14)

Miscellaneous Chores

10.1.0 (2023-08-30)

Features

10.0.3 (2023-08-28)

Miscellaneous Chores

  • deps-dev: bump conventional-changelog-conventionalcommits (#319) (75d2307)

10.0.2 (2023-08-25)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 20.1.3 to 21.0.7 (#312) (cd78f4a)

10.0.1 (2023-08-24)

Bug Fixes

9.1.18 (2023-08-14)

Miscellaneous Chores

  • deps-dev: bump lint-staged from 13.3.0 to 14.0.0 (#316) (28b877f)

9.1.17 (2023-07-07)

Miscellaneous Chores

  • deps-dev: bump prettier from 2.8.8 to 3.0.0 (#313) (9a07e14)

9.1.16 (2023-06-07)

Miscellaneous Chores

  • deps-dev: bump conventional-changelog-conventionalcommits (#307) (3ece7d7)

9.1.15 (2023-05-18)

Miscellaneous Chores

  • deps: bump @appium/support from 3.1.11 to 4.0.0 (#303) (40cb4ec)

9.1.14 (2023-03-03)

Miscellaneous Chores

  • Improve error messages on missing params (#288) (a5fc3f0)

9.1.13 (2023-02-27)

Miscellaneous Chores

9.1.12 (2023-01-17)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 19.0.5 to 20.0.2 (#282) (14e9aa5)

9.1.11 (2022-12-16)

Miscellaneous Chores

  • deps-dev: bump appium-ios-simulator from 4.2.1 to 5.0.1 (#281) (c8018be)
  • deps: bump @appium/base-driver from 8.7.3 to 9.0.0 (#280) (c325b4b)

9.1.10 (2022-12-14)

Miscellaneous Chores

  • deps: bump @appium/support from 2.61.1 to 3.0.0 (#279) (e9de675)

9.1.9 (2022-12-01)

Miscellaneous Chores

9.1.8 (2022-11-29)

9.1.7 (2022-11-28)

Bug Fixes

9.1.6 (2022-11-27)

9.1.5 (2022-11-22)

9.1.4 (2022-11-06)