Skip to content

Contributing

Want to contribute to this app? We'd love it!

Code

The code for this app is based on React and Electron.

To start off, clone the project from GitHub and run:

npm ci

Note

There are some possible requirements prior to the install due to node-gyp:

  • Python
  • some C/C++ compiler tools matching your operating system

Watch changes during development:

npm run dev           # desktop app
npm run watch:browser # browser app

Start the production version of the desktop app:

npm run start

Run tests:

npm run test:lint
npm run test:format
npm run test:unit
npm run test:integration
npm run e2e

npm run test # lint, unit & integration

Build the full app (desktop app into /dist, browser app into /dist-browser):

npm run build # desktop and browser
npm run build:browser

Build the app executable package (and other artifacts) for your platform into /release:

Note

For macOS, this requires code signing environment variables to be set.

npx electron-builder build --publish never

Documentation

The documentation for this app is built using Appium's own docutils, which is based on MkDocs.

To start off, clone the project from GitHub and install it as described in the Code section. Then you can build the documentation:

npm run install-docs-deps # install the dependencies (Python packages)
npm run dev:docs          # serve the docs locally and watch for changes

Localization

The Inspector code tries to use only localized strings (t('localizationKey')), which are synchronized with Crowdin. If you would like to contribute translations, please leave your suggestions on Crowdin.

If you find yourself needing to add completely new strings, first you need to make code changes that add the strings in the English translation file. After your changes are merged, the new strings will be automatically added to Crowdin, and become available for translation into other languages.