Skip to content

docs(testing): record reusable Appium interaction stability patterns - #199

Merged
racitores merged 1 commit into
mainfrom
docs/appium-interaction-stability
Oct 13, 2026
Merged

racitores merged 1 commit into
mainfrom
docs/appium-interaction-stability

Conversation

@racitores

Copy link
Copy Markdown
Contributor

Description

Transfer the reusable Appium flake patterns that were confirmed in MetaMask Mobile smoke fixes and still lived only in QA task learnings.

Component-view learnings L1–L7 are already in mobile-testing from #181 (await the assertion subject, empty-state load, one waiter, full list hydration, re-query before press, mockReset, and negative asserts after the owning load). This PR does not repeat them.

The new Stabilize interactions section in references/appium-e2e.md records only mechanisms that apply across specs:

  • prove screen readiness from a stable child
  • re-query after sync and require the control to be interactive
  • retry inside the shared open helper
  • scroll to prove a virtualized row
  • read native toggle state before leaving
  • wait for an action's postcondition
  • assert a short-lived alert once

Feature-specific recipes (ENS selectors, Aave RPC timeouts, Bitcoin dapp reload, MM Pay tab fallback, and similar) stay in the mobile helpers.

Type of Change

  • New skill
  • Skill improvement/update
  • Bug fix
  • Documentation update
  • Other (please describe):

Skill Details (if adding a new skill)

Provider Name:
Skill Name:
Brief Description:

Checklist

  • I have read the CONTRIBUTING.md guidelines
  • My skill follows the SKILL_TEMPLATE.md format
  • I have tested this skill with an AI agent
  • My skill does not contain any secrets, private keys, or sensitive data
  • I have added appropriate documentation
  • My changes don't break existing skills

Testing

Reviewed each cited helper against current MetaMask/metamask-mobile main: waitForWalletHomePlaywright, waitForAccountSyncToComplete, ensureAccountListOpenPlaywright, NotificationMenuView.waitForListReady / waitForNotificationItem, SnapSettingsView.setEnabled, FooterActions.waitForConfirmButtonGone, and TestSnaps.expectDisabledSnapAlert.

This is documentation for an existing skill. It was not installed into a consumer repo or executed by an agent in this change.

Additional Context

Source learnings: experimental-mm-qa-ai-tasks tasks/flakiness/mobile-flaky-mm-qa-legends/AGENT-LEARNINGS.md (L2, L3, L8, L13, L17, L19, L22) and the already-landed CV set in tasks/flakiness/mobile-cv-flakiness-health/AGENT-LEARNINGS.md.

Made with Cursor

Agents were re-deriving confirmed smoke fixes because those patterns lived only in task learnings.

Co-authored-by: Cursor <cursoragent@cursor.com>
@racitores
racitores enabled auto-merge (squash) October 13, 2026 14:56
@racitores
racitores disabled auto-merge October 13, 2026 15:31
@racitores
racitores merged commit 0e384c9 into main Oct 13, 2026
28 checks passed
@racitores
racitores deleted the docs/appium-interaction-stability branch October 13, 2026 15:31
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