test: add browser navigation E2E tests with local fixtures (MMQA-1721)#28894
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… tests (MMQA-1721) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…test - Use CIDv0 (QmRAQB6...) for IPFS path matching since that's what contentHash.decode() returns - Override ipfsGateway in PreferencesController to point at mock server so WebView loads fixture HTML instead of real dweb.link - Add dual mock rules: proxy-routed fetch() and direct WebView requests - Add testSpecificMock for unmocked HyperLiquid/invalid URL requests - Use runScript for redirect test since Detox WebView tap() doesn't reliably fire JS click handlers on <button> elements - Use addEventListener instead of inline onclick in redirect fixture Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
…A-1721) Replace prohibited TestHelpers.delay(5000) with Utilities.executeWithRetry for waiting on ENS page load. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…mes (MMQA-1721) Move WebView runScript redirect logic into RedirectWebsite.navigateToTargetUrl() page object method. Rename all test names to drop prohibited 'should' prefix. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #28894 +/- ##
==========================================
+ Coverage 82.19% 82.20% +0.01%
==========================================
Files 5043 5044 +1
Lines 132426 132548 +122
Branches 29571 29603 +32
==========================================
+ Hits 108848 108962 +114
- Misses 16172 16183 +11
+ Partials 7406 7403 -3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
… (MMQA-1721) The runScript/cssSelector approach fails on CI release builds because the browser-webview view isn't recognized as a WebView with JS enabled. Switch to tapRedirectButton which uses XPath tap — same pattern that works for the ENS test on CI. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…721) After an in-page redirect the URL bar TextInput is hidden (unfocused, opacity 0) so Detox's toHaveText matcher cannot match it. Tap the URL bar first to make it visible, and assert the full resolved URL instead of just the origin. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…-1721) The URL bar TextInput is hidden (opacity 0) when unfocused, so Detox toHaveText cannot match it after an in-page redirect. Focusing the bar races with the redirect completion. Instead, use waitFor + by.text to check the visible Text component that shows the origin. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 29456c5. Configure here.
…tion (MMQA-1721) BrowserTab.handleSuccessfulPageResolution only updates the URL bar when onLoadEnd's "started && ended" condition is met. For JS-initiated cross-origin redirects this condition is not reliably satisfied, leaving the URL bar stale. This was the original reason the test was quarantined. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The HTML content is already inlined as ENS_INDEX_HTML and ENS_GENERAL_HTML constants in ens-resolution-mocks.ts, making these on-disk files dead code. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
Since the new spec file is tagged Performance Test Selection: |
|
|
✅ E2E Fixture Validation — Schema is up to date |




Description
Add browser navigation E2E tests with local fixtures to replace quarantined tests from
browser-tests.failing.ts. Three tests cover:vitalik.ethvia mocked ENS/IPFS and verifies the fixture page loadsit.skip) — loads a redirect page on one dapp server that navigates to a second dapp server, verifying the URL bar updates. Skipped due to an app-level bug whereBrowserTab.handleSuccessfulPageResolutiondoes not update the URL bar after JS-initiated cross-origin redirects (MCWP-540).Part of the browser tests migration effort (MMQA-1368) to move quarantined E2E tests from external URLs to local HTML fixtures with API mocking.
Changelog
CHANGELOG entry: null
Related issues
Fixes: MMQA-1721
Related app bug: MCWP-540
Manual testing steps
Screenshots/Recordings
Before
N/A — new tests, no prior implementation
After
Android (Pixel 9)
iOS (iPhone 16 Pro)
Pre-merge author checklist
Pre-merge reviewer checklist