Skip to content

Add Maestro smoke tests for automated UI testing#15413

Draft
JorgeMucientes wants to merge 1 commit intotrunkfrom
maestro-smoke-tests-experiment
Draft

Add Maestro smoke tests for automated UI testing#15413
JorgeMucientes wants to merge 1 commit intotrunkfrom
maestro-smoke-tests-experiment

Conversation

@JorgeMucientes
Copy link
Contributor

@JorgeMucientes JorgeMucientes commented Feb 23, 2026

Description

Adds automated UI smoke tests using Maestro that cover the manual testing flows defined in the Smoke Testing P2 post : P91TBi-bVe-p2.

What's included

  • 18 test flows covering: login (3 scenarios), dashboard stats, orders (list/search/create/detail), products (list/sort/detail/create), hub menu (settings/payments/coupons/customers/inbox/admin/store), Blaze, Google for Woo, and POS cash payment
  • 5 reusable subflows for login and tab navigation
  • Workspace config (config.yaml) with execution ordering and tags
  • README with full coverage matrix, run instructions, and credential handling docs
  • Credentials are never hardcoded — passed via environment variables or CLI -e flags

Key learnings

  • Compose testTags are not visible to Maestro without testTagsAsResourceId — text-based selectors are used instead for Compose UI
  • Screen transitions require text-based waits rather than ID-based for reliability
  • Login flow handles: splash screen delay, Google Password Manager, privacy dialog, onboarding tooltips

Coverage

17 of 18 flows validated against a real Android emulator (POS requires tablet). See README for full coverage matrix vs P2 smoke testing flows.

Test plan

  • Install Maestro CLI: curl -fsSL "https://get.maestro.mobile.dev" | bash
  • Install wasabi debug build on emulator: ./gradlew :WooCommerce:installWasabiDebug
  • Run a single flow: maestro test -e WOO_EMAIL="..." -e WOO_PASSWORD="..." -e WOO_STORE_URL="..." .maestro/flows/login_successful.yaml
  • Run all flows: maestro test -e WOO_EMAIL="..." -e WOO_PASSWORD="..." -e WOO_STORE_URL="..." .maestro/flows/

Adds 18 Maestro flow files covering login, dashboard stats, orders,
products, hub menu, Blaze, Google for Woo, and POS scenarios based on
the P2 smoke testing flows. Credentials are passed via environment
variables and never hardcoded.

Includes reusable subflows for login and tab navigation, a workspace
config with execution ordering, and a README documenting coverage and
usage.
@dangermattic
Copy link
Collaborator

1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@JorgeMucientes JorgeMucientes force-pushed the maestro-smoke-tests-experiment branch from 7c3d27e to d773560 Compare March 3, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants