Skip to content

Conversation

@jessewashburn
Copy link
Member

@jessewashburn jessewashburn commented Oct 3, 2025

This PR introduces a Robo test workflow for myPlanet. The goal is to automatically exercise a “happy path,” surface crashes, and capture video + logs of the session.


Setup

Install gcloud if you don't already have it.

You will need a json key to use it, which I've shared privately. Save it locally and run:

gcloud auth activate-service-account --key-file <path-to-key>
gcloud config set project myplanet-ci

How to run locally

  1. Build an APK:

    ./gradlew assembleDebug

    Output: app/build/outputs/apk/default/debug/app-default-debug.apk

  2. Run the Robo test:

    ./ci/robo/run_robo.sh

This script:

  • Uploads the APK and ci/robo/myplanet_robo.json to Firebase Test Lab
  • Runs a scripted crawl (login as robouser → explore → logout → guest)
  • Stores results in our shared GCS bucket myplanet-test-results
  • Prints public result links (video, logcat, actions.json, etc.) that can be opened directly in the browser

Example output

When you run ./ci/robo/run_robo.sh, you’ll see console output like this:

Raw results will be stored in your GCS bucket at:
  https://console.developers.google.com/storage/browser/myplanet-test-results/local-test/20251003_151542/

Test results will be streamed to:
  https://console.firebase.google.com/project/myplanet-ci/testlab/histories/bh.ee944f68bb5b60d1/matrices/8182797315128267371

At the end it also prints handy public links, e.g.:

Public result links (if bucket is public):
  Folder:  https://storage.googleapis.com/myplanet-test-results/local-test/20251003_143830/
  Video:   https://storage.googleapis.com/myplanet-test-results/local-test/20251003_143830/Pixel2.arm-29-en-portrait/video.mp4
  Logcat:  https://storage.googleapis.com/myplanet-test-results/local-test/20251003_143830/Pixel2.arm-29-en-portrait/logcat
  Actions: https://storage.googleapis.com/myplanet-test-results/local-test/20251003_143830/Pixel2.arm-29-en-portrait/actions.json
  APK:     https://storage.googleapis.com/myplanet-test-results/local-test/20251003_143830/app-default-debug.apk

Each run contains:

  • video.mp4 – full test session
  • logcat – Android logs
  • actions.json – steps executed
  • screenshots – sequence of screens
  • app-default-debug.apk – tested APK

Since the bucket is public, you can open results directly in the browser using the printed links.


Next steps

  • Expand the happy path (deeper navigation, language toggles, etc.)
  • Automate via GitHub Actions so runs happen on every new build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants