Skip to main content

Modern, Intelligent Mobile Automation Framework (Compiled)

Project description

FlowPilot Mobile

Modern, Python-first mobile automation framework. Provides clean Playwright-style APIs for smart mobile automation with AI-assisted test generation.

🚀 Quick Start

1. Install via pip

pip install flowpilot-mobile

2. Initialize your Project

Initialize a new project folder with all necessary configurations:

flowpilot setup --project_folder my_tests

3. Configure Tool Paths

Open my_tests/flowpilot.yaml and specify your manual paths for ADB and Scrcpy if they are not in your system PATH:

tools:
  adb_path: "C:\\path\\to\\adb.exe"
  scrcpy_path: "C:\\path\\to\\scrcpy.exe"

🌟 The FlowPilot "Smart" Advantage

FlowPilot includes an Intelligent Layer that handles the "messy" parts of mobile testing automatically:

  • Auto-Scroll Search: Automatically swipes and retries if an element is off-screen.
  • Smart Locator Scoring: Distinguishes between actual inputs and "distractor" elements (like Search Labs icons).
  • Nearby Label Matching: Fills input fields based on the text labels next to them.
  • Self-Healing: Uses fuzzy matching for minor UI text changes (e.g., "Log In" vs "Login").
  • Automatic Device Reset: Automatically presses the Home button before and after every test to ensure a clean baseline.
  • Zero-Sleep Synchronization: Built-in polling ensures elements are ready before interaction.

🤖 AI-Assisted Automation (TEST_GEN_PROMPT)

FlowPilot now supports Instant Test Generation via AI. Every project initialized with flowpilot setup includes a TEST_GEN_PROMPT.md file.

  1. Copy the content of TEST_GEN_PROMPT.md.
  2. Paste it into Gemini or ChatGPT.
  3. Provide your manual test steps or describe a screen recording.
  4. Result: The AI will generate a complete FlowPilot Python test script for you.

🖥️ Live Monitoring & Evidence

Live Desktop Mirroring

See your phone's screen in a window on your desktop (Mac/Windows) during execution.

  • Enable: Set mirror_screen: true in your flowpilot.yaml.
  • Manual Path: Configure scrcpy_path in flowpilot.yaml if needed.

Automated Evidence

  • Screen Recording (MP4): Every test is recorded with hardware encoding (zero performance drop). Includes professional 1s padding.
  • Retention Policy: Automatically purges recordings older than 5 days (configurable) to save disk space.
  • Smart Screenshots: Captures specific UI states into .flowpilot/screenshots/.
  • Selective Cleanup: Wipes temporary flows and recent screenshots before each run while preserving your video history.

⚙️ Configuration (flowpilot.yaml)

project_name: "My Custom App"

# Manual Tool Paths
tools:
  adb_path: ""
  scrcpy_path: ""

# Evidence & Storage
output_dir: ".flowpilot"
recordings_dir: ".flowpilot/recordings"
screenshots_dir: ".flowpilot/screenshots"

# Features
record_video: true
mirror_screen: true

# Smart Engine Settings
auto_scroll: true
timeout: 30

📖 Public API Reference

Category Method Description Example
Lifecycle launch_app(pkg) Opens a specific app (defaults to Chrome). mobile.launch_app()
home() Returns to the device Home Screen. mobile.home()
back() Simulates the hardware Back button. mobile.back()
navigate(url) Opens a specific URL in the browser. mobile.navigate("https://google.com")
Interactions tap(target) Smart Tap: Auto-scrolls and waits for visibility. mobile.tap("Settings")
fill(target, val) Smart Fill: Finds nearest input to a label. mobile.fill("Username", "admin")
fill_focused(val) Active Field: Types into currently focused input. mobile.fill_focused("secret")
press_key(key) Presses hardware keys (Enter, Home, Back). mobile.press_key("Enter")
Gestures open_notifications() Pulls down the notification shade (Left). mobile.open_notifications()
open_quick_settings() Pulls down full Quick Settings (Center). mobile.open_quick_settings()
scroll_down() Performs a smart downward scroll. mobile.scroll_down()
Media screenshot(name) Saves a screenshot to .flowpilot/screenshots/. mobile.screenshot("step_1")

🤖 CLI Commands

Command Description
flowpilot setup Initializes a new project folder and generates configurations.
flowpilot interactive Start a live step-by-step automation session.
flowpilot run Executes tests with smart logs.
flowpilot devices Lists all connected physical Android devices.

🛡 Engineering Principles

  1. Hide Complexity: Zero YAML or runtime engine logic exposed.
  2. Text-First: Locators prioritize display text over brittle XPaths.
  3. Hardware-Accelerated: Native MP4 capture and Scrcpy mirroring with zero host lag.
  4. Resilient Reset: Automated pre/post Home screen logic for repeatability.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flowpilot_mobile-1.1.8.tar.gz (29.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

flowpilot_mobile-1.1.8-cp313-cp313-win_amd64.whl (7.3 kB view details)

Uploaded CPython 3.13Windows x86-64

flowpilot_mobile-1.1.8-cp313-cp313-macosx_11_0_arm64.whl (7.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

flowpilot_mobile-1.1.8-cp312-cp312-win_amd64.whl (7.3 kB view details)

Uploaded CPython 3.12Windows x86-64

flowpilot_mobile-1.1.8-cp312-cp312-macosx_11_0_arm64.whl (7.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

flowpilot_mobile-1.1.8-cp311-cp311-win_amd64.whl (7.2 kB view details)

Uploaded CPython 3.11Windows x86-64

flowpilot_mobile-1.1.8-cp311-cp311-win32.whl (7.2 kB view details)

Uploaded CPython 3.11Windows x86

flowpilot_mobile-1.1.8-cp311-cp311-macosx_11_0_arm64.whl (7.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file flowpilot_mobile-1.1.8.tar.gz.

File metadata

  • Download URL: flowpilot_mobile-1.1.8.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for flowpilot_mobile-1.1.8.tar.gz
Algorithm Hash digest
SHA256 e75ec3741b2fd563a76c0c55dfd33c938a94adb6ce1992b7a18cd53613a18ded
MD5 c0298c7fef261b48ea8067131f7ac3a2
BLAKE2b-256 2eae948b83b9174bd3cbda0fd8d8883c06be785624f66d7dfe49ee0d49edb37a

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7d19f8d4bf451efb0b7901c63f8aa21174014e4c1d8d9b91e8f1cdda30d7d305
MD5 f7b8d3f25d99fbdc91ccc87bd26e4542
BLAKE2b-256 9f74935101f5be4a740a7df68afd9db1ae072265c94403a0b28afae6eb384210

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c11e2b0f7877271e418329453bd8ec75d64c7a7f572ed07e631a6070a56548e
MD5 f1d13a89e5bb4d81213faab2d06382bb
BLAKE2b-256 ed0981319fcf9075578701ded74d62a7215d3a33aed8a666b54da45b9b37251b

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cd496b93c0d0cbe01a363e04384ac8a2613b2b52747c9d58c0d7e8f2ba341f7
MD5 53d0fa4e41334f99c73ca5d53bf515d6
BLAKE2b-256 4b7ab36986fba780f3977a07929ae18f24ed8763747b18d224b4a2063989affe

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6b4c4786cc7990939b7a65911a17f80c7a1a03497c47b6058e03214dfdd381f4
MD5 6a6b268725baf1ef8395f495f6a3e47c
BLAKE2b-256 8fa6b32a6a19721709cc19055df3b9d2f3df7526f2e0fca2d4933a0ef54944d5

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2af8e77ad3dbff08e9d35866277bc76420dad9347757058aeb8f84766d5e314b
MD5 c4a1d6a4ab5a188f461a229f1f4c0865
BLAKE2b-256 a255742be61068ae92ba02559f4423a6f52678e64ca73045c60b39d0df0de454

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ddf986aeea2203b69f288e9923bf7a6a5bcc7a0abdd7794b18968c0db2b2a84
MD5 3f3343b515f563c7522477c78d96b5f1
BLAKE2b-256 7c29505060403914757beb7cf75b704400f895972eca0e39c2a86c28f7c6a432

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e8a54ffbcaa8fde264525cc0172b30582d095de65f59a0293e006588780e48aa
MD5 5018ddb45251b5382488438ab6a63587
BLAKE2b-256 f54e62f023cec38852d94705e3a25251eacd355690eed70309a1e34f0512a3d3

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f670fe1f0a745fe6b28498429820a9fad4589cc5a2deceabf51d7a5cca9ca222
MD5 a50a53219fd6c63755c3be8fc8005e77
BLAKE2b-256 d66a36410b30f655c3716bf06cea619317bcf4f3938b2a8b48116ad786bc7a11

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 331a14b94fdcfb8baf008f3666b253d6b08688fddd9554e435fa41cb999a69de
MD5 09615e4e04826f11b5972d499b7ae4a2
BLAKE2b-256 7cb9240f78c92b9d39c0bccc0a6f17bc5dfd5b09aa2edbff8de0b69a7f47f7ed

See more details on using hashes here.

File details

Details for the file flowpilot_mobile-1.1.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d258a5ac44789707f560f18054157bcd45f1d1ec4b8705487b2fc932aff3d6da
MD5 c1dbd65b1954e01d1251c4dfd323bdc9
BLAKE2b-256 eb869d315fa29445a9dfc1d0e03bac2ccec9f99b57aa8e01ac0833c42f8c3bec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page