-
Notifications
You must be signed in to change notification settings - Fork 5.3k
test: fix flaky test Multiple ERC20 Watch Asset...
#35664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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. |
✨ Files requiring CODEOWNER review ✨🧪 @MetaMask/qa (3 files, +29 -15)
|
📊 Page Load Benchmark ResultsCurrent Commit: 📄 https://metamask.github.io/test-dapp/Samples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [6b5f6d9]
UI Startup Metrics (1278 ± 71 ms)
Benchmark value 1106 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1098 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 253 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 7 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 854 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1389 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1215 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1207 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 1192 exceeds gate value 1180 for chrome browserify home p95 firstPaint Benchmark value 274 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 17 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 959 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 30 exceeds gate value 29 for chrome webpack home mean getState Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 2502 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 244 exceeds gate value 195 for chrome webpack home p95 getState Benchmark value 11 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 31 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 215 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 11 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 28 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 101 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 45 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 249 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 51 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 7 exceeds gate value 2 for firefox webpack home p95 initialActions Sum of mean exceeds: 422ms | Sum of p95 exceeds: 610.8ms Sum of all benchmark exceeds: 1032.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); | ||
const createContractModal = new CreateContractModal(driver); | ||
await createContractModal.checkPageIsLoaded(); | ||
await createContractModal.clickConfirm(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can skip the manual deployment of the 3 contracts now
* | ||
* @returns Array of all deployed contract addresses in deployment order | ||
*/ | ||
getAllDeployedContractAddresses() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ new method, so we can work with multiple deployed contracts, not just 1 (or 1 by 1)
const createTokenElement = await this.driver.findElement( | ||
this.createTokenButton, | ||
); | ||
await this.driver.scrollToElement(createTokenElement); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the find+scrolling action is unnecessary - our clickElement method handles everything that's needed for that element to be clicked
); | ||
|
||
return multipleSuggestedTokens.length === expectedTokenCount; | ||
}, 10000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sometimes the wallet takes time loading the token entries -- with the previous method there could be race conditions where there we find that element, and has not yet loaded all the tokens.
findElements+assert is a pattern that can lead to race conditions.
Waiting for our expected condition adds robustness to this assertion
📊 Page Load Benchmark ResultsCurrent Commit: 📄 https://metamask.github.io/test-dapp/Samples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [29a002a]
UI Startup Metrics (1228 ± 62 ms)
Benchmark value 24 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 261 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 8 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 247 exceeds gate value 195 for chrome webpack home p95 getState Benchmark value 10 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 1420 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 208 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 30 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 101 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 44 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 256 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 51 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 7 exceeds gate value 2 for firefox webpack home p95 initialActions Sum of mean exceeds: 286ms | Sum of p95 exceeds: 436.8ms Sum of all benchmark exceeds: 722.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
📊 Page Load Benchmark ResultsCurrent Commit: 📄 https://metamask.github.io/test-dapp/Samples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
📊 Page Load Benchmark ResultsCurrent Commit: 📄 https://metamask.github.io/test-dapp/Samples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [ee65e17]
UI Startup Metrics (1254 ± 71 ms)
Benchmark value 1091 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1083 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 251 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 841 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1381 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1212 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1205 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 1189 exceeds gate value 1180 for chrome browserify home p95 firstPaint Benchmark value 270 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 37 exceeds gate value 33 for chrome browserify home p95 getState Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 953 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 34 exceeds gate value 29 for chrome webpack home mean getState Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 2482 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 280 exceeds gate value 195 for chrome webpack home p95 getState Benchmark value 10 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 1454 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1252 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1252 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1734 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 221 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 82 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 14 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 44 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1650 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1387 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1387 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 105 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 38 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 49 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 7 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1964 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 295 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 56 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 8 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 30 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 501ms | Sum of p95 exceeds: 796.8ms Sum of all benchmark exceeds: 1297.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great addition, LGTM !
LGTM ! |
Description
This PR adds some improvements in the flaky test Add multiple tokens:
This will make this spec more robust and fast overall.
Changelog
CHANGELOG entry:
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist