Skip to content

Commit c56f48a

Browse files
test: update element retrieval methods in PredictDetailsScreen (MetaMask#24002)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> Updated the methods for retrieving elements in the PredictDetailsScreen class to use text-based selectors instead of ID-based selectors. This change enhances the flexibility and maintainability of the code by aligning with the updated selector strategy. - Replaced getElementByID calls with getElementByText for ABOUT_TAB and OUTCOMES_TAB. ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: ## **Related issues** Fixes: ## **Manual testing steps** ```gherkin Feature: Predict Market Details Performance As a user I want to view prediction market details quickly So that I can make informed predictions efficiently Background: Given the user has the MetaMask app installed And the user has an existing wallet with valid credentials And the network conditions are set to 4G LTE @performance @predict @market-details Scenario: View prediction market details and navigate between tabs Given the user is logged into the MetaMask app When the user taps the action button on the wallet tab bar And the user taps the Predict button in the action modal Then the Predict Market List screen is displayed When the user taps on the first trending market card Then the Market Details screen is displayed When the user taps the About tab Then the About tab content is loaded And the Volume information is visible When the user taps the Outcomes tab Then the Outcomes tab content is displayed And the outcome options are visible @performance @predict @deposit Scenario: Complete a deposit flow in Predict Given the user is logged into the MetaMask app And the user has navigated to the Predict Market List When the user taps the Add Funds button Then the Deposit screen is displayed with the amount input When the user taps Pay With to change payment method Then the Select Payment Method modal appears When the user searches for "USDC" token And the user selects the Ethereum network filter And the user selects USDC as the payment token And the user enters "1" as the deposit amount And the user taps Continue Then the Confirmation screen is displayed And the deposit amount shows "$1" And the fee information is visible ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Switches Appwright device-path selectors for About and Outcomes tabs to text-based retrieval instead of ID-based. > > - **E2E selectors (PredictDetailsScreen)**: > - Replace Appwright ID-based lookups with `getElementByText` for `aboutTab` and `outcomesTab`. > - Non-Appwright path and other getters unchanged. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 0d93832. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent 0311feb commit c56f48a

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

wdio/screen-objects/PredictDetailsScreen.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class PredictDetailsScreen {
3838
if (!this._device) {
3939
return Selectors.getXpathElementByText(PredictMarketDetailsSelectorsText.ABOUT_TAB_TEXT);
4040
} else {
41-
return AppwrightSelectors.getElementByID(this._device, PredictMarketDetailsSelectorsIDs.ABOUT_TAB_LABEL);
41+
return AppwrightSelectors.getElementByText(this._device, PredictMarketDetailsSelectorsText.ABOUT_TAB_TEXT);
4242
}
4343
}
4444

@@ -54,7 +54,7 @@ class PredictDetailsScreen {
5454
if (!this._device) {
5555
return Selectors.getXpathElementByText(PredictMarketDetailsSelectorsText.OUTCOMES_TAB_TEXT);
5656
} else {
57-
return AppwrightSelectors.getElementByID(this._device, PredictMarketDetailsSelectorsIDs.OUTCOMES_TAB_LABEL);
57+
return AppwrightSelectors.getElementByText(this._device, PredictMarketDetailsSelectorsText.OUTCOMES_TAB_TEXT);
5858
}
5959
}
6060

0 commit comments

Comments
 (0)