Skip to main content
Proton v5

Mobile (Android)

A mobile automation runs on an Android device connected to the runner's machine, or on a BrowserStack device. The device and the app are chosen when the run is triggered.

Device on the runner's machine​

The machine needs:

  1. Android Platform Tools, with adb on the PATH. Download it from developer.android.com or install Android Studio.

  2. Node.js and Appium with the UiAutomator2 driver:

    npm install -g appium
    appium driver install uiautomator2
  3. The device connected over USB, with developer options and USB debugging turned on, and debugging authorized on the device screen (it asks on the first connection). An emulator works too.

Check that the machine can see the device:

adb devices

The device must show up as device. If it shows up as unauthorized, authorize debugging on the device screen.

The template projects start Appium on their own when it isn't running at the configured address (APPIUM_URL).

Connected devices in the Runner​

The phone icon in the top bar of Proton Runner opens Connected devices: the list of what the machine can see, refreshed automatically, with what each device still needs to be ready (for example, authorizing USB debugging). Only ready devices are offered to Proton to receive mobile automations.

Each device handles one run at a time. Other runs that ask for the same device wait in the runner's queue.

In Proton Runner CLI, the same applies with proton devices.

The app​

The app the automation tests lives in Proton, under Resources > Mobile Apps: the installer (APK or AAB) is added on that screen, through Firebase, or by the CI pipeline. The run trigger chooses the app and the version, and the automation downloads the installer from Proton. The machine doesn't need to keep the installer.

BrowserStack​

In a BrowserStack run, the device is BrowserStack's: the runner's machine doesn't need adb, Appium, or a device. The run trigger chooses the device, the OS version, and the app, and the Proton Cloud SDK hands them to the automation.