whatisgithub

What is podium?

mohitk05/podium — explained in plain English

Analysis updated 2026-05-18

0RustAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A Rust library for writing automated Android UI tests as async code, using Maestro under the hood to tap, type, and check on-screen elements.

Mindmap

mindmap
  root((Podium))
    What it does
      Async Rust Android UI testing
      Wraps Maestro driver
      No YAML config needed
    Tech stack
      Rust
      Android and ADB
      gRPC via Maestro
    Use cases
      Automate login flow tests
      Assert elements visible
      Mock testing without device
    Audience
      Rust developers
      Mobile QA engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Write automated Android UI tests directly in Rust instead of a separate YAML test format.

USE CASE 2

Verify that a specific screen element, like a welcome message or button, appears after an action.

USE CASE 3

Automate common flows like logging in, typing text, and scrolling to a target element for testing.

USE CASE 4

Unit-test your own test-driving code without needing a real device, using the mock transport.

What is it built with?

RustAndroidgRPCMaestro

How does it compare?

mohitk05/podium04amanrajj/netwatch0xr10t/pulsefi
Stars000
LanguageRustRustRust
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a running Android emulator or device with ADB access, iOS is not yet supported.

So what is it?

Podium is a Rust library for writing automated tests that control an Android app running on an emulator or a real device, with iOS support planned but not yet built. Instead of asking you to write test steps in a separate configuration file, it lets you write the test directly as async Rust code that taps buttons, types text, checks whether something is visible on screen, scrolls until an element appears, and takes screenshots. Under the hood, Podium relies on a tool called Maestro to actually talk to the device. When you start a test, Podium installs two small helper apps onto the device, opens a connection to it over USB debugging, and starts a background service on the device that Podium's code then sends commands to and reads results from. All of this setup happens automatically when your test calls the build function, so as a developer you mostly just describe the actions you want the test to take. To use it, you add the library to a Rust project, connect to a device or emulator, launch your app, and then chain together calls like tapping an element that shows specific text, typing into a focused field, and asserting that a welcome message appears. Elements on screen can be found by their exact text, a regular expression pattern, or their internal identifier, and if there are several matching elements you can pick a specific one by its position in the list. There is also a mock mode meant for unit-testing code that itself calls Podium, so you can test your testing logic without a real device attached. The known limitations are clearly listed: it only supports Android for now, typed text replaces a field's contents rather than simulating each keystroke, and swipe gestures are tuned for a common screen resolution and may need adjusting on unusual screen sizes.

Copy-paste prompts

Prompt 1
Show me how to set up podium-driver in a Rust project to test an Android login screen.
Prompt 2
Write a Podium test that launches my app, taps a button, and asserts a welcome message is visible.
Prompt 3
Explain how Podium's Selector works for finding elements by text, regex, or id.
Prompt 4
Help me set up the integration test suite in this repo using an Android emulator.

Frequently asked questions

What is podium?

A Rust library for writing automated Android UI tests as async code, using Maestro under the hood to tap, type, and check on-screen elements.

What language is podium written in?

Mainly Rust. The stack also includes Rust, Android, gRPC.

How hard is podium to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is podium for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.