test: migrates page objects for MM-Connect along with required functions#27436
Conversation
|
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. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Performance Test Selection: |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| WAGMI_SIGNATURE_RESULT: 'wagmi-signature-result', | ||
| WAGMI_SEND_TX_TO_ADDRESS_INPUT: 'wagmi-send-tx-to-address-input', | ||
| WAGMI_SEND_TX_AMOUNT_INPUT: 'wagmi-send-tx-amount-input', | ||
| WAGMI_SEND_TRANSACTION_BUTTON: 'wagmi-send-transaction-button', |
There was a problem hiding this comment.
Redundant test ID constants with conflicting string values
Medium Severity
The MMConnectDappTestIds object contains two sets of constants for the same logical Wagmi elements but with different string values. For example, WAGMI_SIGN_MESSAGE_INPUT maps to 'wagmi-sign-message-input' while WAGMI_INPUT_MESSAGE maps to 'wagmi-input-message'. Similarly for the sign button, send tx inputs, and send tx button. The page objects only use the second set (e.g., WAGMI_INPUT_MESSAGE, WAGMI_BUTTON_SIGN_MESSAGE), leaving the first set unused. Having two constants for the same element with different ID strings is error-prone — a future developer may pick the wrong constant and produce a test that silently fails to find the element.
Additional Locations (1)
|
✅ E2E Fixture Validation — Schema is up to date |
|





Description
This PR migrates the page objects used by
mm-connectin the performance tests to the new unified framework.Changelog
CHANGELOG entry:
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/MMQA-1564
Manual testing steps
N/A
Screenshots/Recordings
Before
N/A
After
N/A
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Moderate risk because it refactors shared E2E/performance test infrastructure (driver utilities, visibility/wait options, and context switching), which can cause widespread test flakiness if selector semantics or WebView switching behavior differs.
Overview
Migrates MM-Connect performance test coverage off the legacy
wdio/screen-objectspage objects into new TypeScript page objects undertests/page-objects/MMConnect, built on the unifiedEncapsulatedElement+UnifiedGesturesAPIs.Refactors Playwright/WebdriverIO test utilities by extracting
boxedStep/getDriverintoPlaywrightUtilities, expandingPlaywrightElement.isVisible/waitForDisplayedto accept WebdriverIOisDisplayedoptions, and adding a customexpect.toBeVisiblematcher in the performance fixture.Adds
PlaywrightContextHelpersto make WebView context switching more robust (URL matching with a LavaMoat-scuttling fallback) and introduces sharedMMConnectDappTestIdsplus updated Snap footer selector IDs;@wdio/protocolsis added to support typed context APIs.Written by Cursor Bugbot for commit 804fc1e. This will update automatically on new commits. Configure here.