Skip to content

Added maestro tests - #210

Draft
ignaciosantise wants to merge 50 commits into
mainfrom
chore/maestro-ci
Draft

Added maestro tests#210
ignaciosantise wants to merge 50 commits into
mainfrom
chore/maestro-ci

Conversation

@ignaciosantise

Copy link
Copy Markdown
Collaborator

Summary

Added github actions to run maestro tests between dapp and wallet

@ignaciosantise
ignaciosantise requested a review from jakubuid June 18, 2025 14:20
Comment thread .github/workflows/ci_e2e_tests_android.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_android.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_android.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_ios.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_ios.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_ios.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_android.yaml Fixed
Comment thread .github/workflows/ci_e2e_tests_ios.yaml Fixed
Copilot AI review requested due to automatic review settings October 7, 2025 19:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds Maestro end-to-end testing infrastructure to automate testing between dapp and wallet applications. The changes include improved test reliability through testID additions, updated package dependencies, and comprehensive GitHub Actions workflows for both iOS and Android platforms.

  • Added testID props to ActionButton component and ModalFooter for reliable test element identification
  • Updated package dependencies across multiple dapp projects to newer versions
  • Created comprehensive GitHub Actions workflows for building and testing both iOS and Android applications with Maestro

Reviewed Changes

Copilot reviewed 28 out of 36 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
wallets/rn_cli_wallet/src/components/ActionButton.tsx Added testID prop to ActionButton component for test automation
wallets/rn_cli_wallet/src/components/Modal/ModalFooter.tsx Added testID attributes to approve and reject buttons
wallets/rn_cli_wallet/src/screens/Scan/index.tsx Fixed null check comparison for device variable
dapps/W3MWagmi/scripts/misc_internal.ts Temporarily disabled linkMode with TODO comment
dapps/W3MWagmi/package.json Updated multiple package versions including appkit and walletconnect dependencies
dapps/W3MEthers5/package.json Updated appkit and walletconnect package versions
dapps/W3MEthers/package.json Updated appkit and walletconnect package versions
.maestro/web/*.yaml Enhanced test flows with testID-based element selection and improved timing
.maestro/native/*.yaml Enhanced test flows with testID-based element selection and platform-specific handling
.github/workflows/ci_e2e_tests_ios.yaml Created comprehensive iOS E2E testing workflow with app building and Maestro testing
.github/workflows/ci_e2e_tests_android.yaml Created comprehensive Android E2E testing workflow with emulator setup and testing
.github/workflows/release-*.yaml Updated action versions and refactored file setup into reusable actions
.github/actions/ci-setup*/action.yml Created reusable actions for iOS and Android file setup, updated cache versions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread wallets/rn_cli_wallet/src/screens/Scan/index.tsx Outdated
@ignaciosantise
ignaciosantise marked this pull request as draft October 28, 2025 11:54
ignaciosantise and others added 2 commits March 27, 2026 11:45
- Add pull_request triggers with path filters so E2E tests only run on relevant changes
- Explicitly disable iOS code signing (CODE_SIGNING_ALLOWED=NO)
- Add SENTRY_DISABLE_AUTO_UPLOAD for iOS builds
- Simplify Android test script (remove verbose debug, unnecessary sleeps)
- Remove commented-out code, fix artifact upload conditions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
#	.github/actions/ci-setup/action.yml
#	.github/workflows/release-android-base.yaml
#	.github/workflows/release-ios-base.yaml
#	dapps/W3MEthers/ios/Podfile.lock
#	dapps/W3MEthers/package.json
#	dapps/W3MEthers/yarn.lock
#	dapps/W3MEthers5/ios/Podfile.lock
#	dapps/W3MEthers5/package.json
#	dapps/W3MEthers5/yarn.lock
#	dapps/W3MWagmi/ios/Podfile.lock
#	dapps/W3MWagmi/package.json
#	dapps/W3MWagmi/scripts/misc_internal.ts
#	dapps/W3MWagmi/yarn.lock
#	wallets/rn_cli_wallet/android/build.gradle
#	wallets/rn_cli_wallet/ios/Podfile.lock
#	wallets/rn_cli_wallet/ios/RNWeb3Wallet.xcodeproj/project.pbxproj
#	wallets/rn_cli_wallet/package.json
#	wallets/rn_cli_wallet/src/components/ActionButton.tsx
#	wallets/rn_cli_wallet/src/components/Modal/ModalFooter.tsx
#	wallets/rn_cli_wallet/src/screens/Scan/index.tsx
#	wallets/rn_cli_wallet/yarn.lock
@vercel

vercel Bot commented Apr 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pos-demo Ready Ready Preview, Comment Jul 28, 2026 3:45pm
react-native-appkit Ready Ready Preview, Comment Jul 28, 2026 3:45pm
react-native-walletkit Ready Ready Preview, Comment Jul 28, 2026 3:45pm

Request Review

ignaciosantise and others added 3 commits July 17, 2026 15:06
# Conflicts:
#	.github/workflows/ci_e2e_tests_ios.yaml
#	wallets/rn_cli_wallet/src/components/ActionButton.tsx
… suite

Cross-app WalletConnect relay E2E between appkit-wagmi and rn_cli_wallet,
separate from the WC Pay E2E. Named by the SDK under test:

- relay-walletkit: native rn_cli_wallet vs deployed appkit web dapp
- relay-appkit:    native appkit-wagmi vs deployed rn_cli_wallet web

Each drives the native app + its web counterparty in the device browser in
one Maestro flow. Covers connect, sign, switch chain, sign on another chain,
disconnect (both sides), and session restore.

Adds:
- .maestro/relay/ flows + per-SDK _connect subflows (relay-appkit bridges the
  wc: URI via AppKit copy-to-clipboard -> wallet button-paste-url, since a
  native dapp can't deep-link a web wallet).
- .github/workflows/ci_e2e_relay.yaml (walletkit android/ios + appkit android;
  appkit ios dispatch-only/unverified). Daily cron + PR + dispatch.
- testIDs: wallet session-item, session-disconnect-button; dapp dapp-connected,
  connected-address, connected-chain, sign-result.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- android-emulator-runner `script:` doesn't honor backslash line-continuations
  (leaked a literal "\" as the flow path -> "Flow path does not exist"); collapse
  both android maestro invocations to a single line, matching the walletkit composite.
- appkit android Build APK: run gradlew app:assembleInternal --stacktrace to surface
  the config-time `node` exec failure (default lifecycle log swallows its stderr).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

4 participants