-
Notifications
You must be signed in to change notification settings - Fork 5.3k
test: Migrate petnames tests to Typescript and Page object modal #33892
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. |
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.
Pull Request Overview
This PR migrates the petnames signature tests and helpers from JavaScript to TypeScript, adopting page objects and shared flows for cleaner, more maintainable E2E specs.
- Adds a new TypeScript spec (
petnames-signatures.spec.ts
) leveragingwithSignatureFixtures
and page‐object flows. - Introduces a
Petnames
helper class in TypeScript and removes the old JS helper. - Deletes the legacy JS spec and helper files now replaced by the TS versions.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
File | Description |
---|---|
test/e2e/tests/petnames/petnames-signatures.spec.ts | New TS E2E spec for petnames v3/v4 signatures and snap‐based name proposals |
test/e2e/tests/petnames/petnames-signatures.spec.js | Removed legacy JS spec |
test/e2e/tests/petnames/petnames-helpers.ts | New TS helper class encapsulating name expectations, clicks, and saves |
test/e2e/tests/petnames/petnames-helpers.js | Removed legacy JS helper |
Comments suppressed due to low confidence (1)
test/e2e/tests/petnames/petnames-helpers.ts:10
- [nitpick] Public methods in
Petnames
lack JSDoc. Adding brief comments for parameters and behavior will help future maintainers understand each helper's purpose.
async expectName(expectedValue: string, isSaved: boolean): Promise<void> {
describe('Petnames - Signatures', function (this: Suite) { | ||
it('can save names for addresses in type 3 signatures', async function () { | ||
await withSignatureFixtures( | ||
this.test?.fullTitle(), |
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.
[nitpick] Using optional chaining on this.test
may pass undefined
to withSignatureFixtures
. Consider using a non-null assertion (e.g., this.test!.fullTitle()
) to guarantee a valid title.
this.test?.fullTitle(), | |
this.test!.fullTitle(), |
Copilot uses AI. Check for mistakes.
await testDapp.signTypedDataV4(); | ||
await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); | ||
await petnames.expectName('test.lens', true); | ||
await petnames.expectName('Test Toke...', true); |
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.
[nitpick] Asserting against the hard-coded truncated string 'Test Toke...'
may make the test brittle. Consider asserting the full name or deriving the truncated value dynamically to reflect UI behavior.
Copilot uses AI. Check for mistakes.
|
||
async clickName(value: string): Promise<void> { | ||
await this.driver.clickElement({ | ||
css: `.name`, |
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.
[nitpick] The selector .name
is quite generic and could match multiple elements. Consider scoping it more narrowly or adding a dedicated data-testid to avoid accidental clicks.
css: `.name`, | |
css: `[data-testid="name-element"]`, |
Copilot uses AI. Check for mistakes.
async saveName( | ||
value: string, | ||
name?: string, | ||
proposedName?: string, | ||
): Promise<void> { | ||
await this.clickName(value); |
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.
[nitpick] The positional optional parameters (name
, proposedName
) can be confusing when skipping one. Consider refactoring this API to accept a single object with named properties for clarity.
async saveName( | |
value: string, | |
name?: string, | |
proposedName?: string, | |
): Promise<void> { | |
await this.clickName(value); | |
async saveName({ | |
value, | |
name, | |
proposedName, | |
}: { value: string; name?: string; proposedName?: string }): Promise<void> { | |
await this.saveName({ value: 'exampleValue', name: 'exampleName', proposedName: 'exampleProposedName' }); |
Copilot uses AI. Check for mistakes.
Builds ready [cddcf96]
UI Startup Metrics (1209 ± 76 ms)
Benchmark value 1183 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 21 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 968 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 22 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 2564 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 413 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 113 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 48 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 1980 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 294 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Sum of mean exceeds: 6ms | Sum of p95 exceeds: 404ms Sum of all benchmark exceeds: 410ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [9667374]
UI Startup Metrics (1218 ± 76 ms)
Benchmark value 832 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1379 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1195 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1188 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 22 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 967 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 22 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 2218 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 248 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 2660 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 64 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 403 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 1972 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 116 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 312 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 37 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 2022 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1672 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1671 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 271 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1652 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 53ms | Sum of p95 exceeds: 689ms Sum of all benchmark exceeds: 742ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [9665936]
UI Startup Metrics (1184 ± 57 ms)
Benchmark value 2201 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 2704 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2011 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 62 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 360 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 408 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 2000 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 117 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 298 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 41 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 2036 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1681 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1680 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 306 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1657 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 22ms | Sum of p95 exceeds: 796ms Sum of all benchmark exceeds: 818ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [b808045]
UI Startup Metrics (1162 ± 56 ms)
Benchmark value 2225 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 240 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 2628 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 62 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 400 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 1991 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 116 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 327 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 29 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 46 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1620 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1405 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1405 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 1386 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2070 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1704 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1703 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 301 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1686 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 130ms | Sum of p95 exceeds: 811ms Sum of all benchmark exceeds: 941ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [9ddb8aa]
UI Startup Metrics (1174 ± 55 ms)
Benchmark value 260 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 2606 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 402 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 117 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 205 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 51 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 2032 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1663 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1663 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 264 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 1644 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 29 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 37ms | Sum of p95 exceeds: 447ms Sum of all benchmark exceeds: 484ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [4878b8c]
UI Startup Metrics (1208 ± 55 ms)
Benchmark value 2206 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 253 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 2629 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 64 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 415 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 1416 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 122 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 20 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1714 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 313 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 86 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 1627 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1396 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1396 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 102 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 24 exceeds gate value 15 for firefox webpack home mean getState Benchmark value 1374 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2049 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1692 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1691 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 287 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 105 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1671 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 141ms | Sum of p95 exceeds: 883ms Sum of all benchmark exceeds: 1024ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [a73f4b8]
UI Startup Metrics (1177 ± 64 ms)
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState Benchmark value 20 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 2228 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 2712 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2083 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2071 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 63 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 343 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 407 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 2060 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 114 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 17 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1695 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 270 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 67 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 37 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1627 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1393 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1393 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 102 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 20 exceeds gate value 15 for firefox webpack home mean getState Benchmark value 1373 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2077 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1705 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1705 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 285 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 34 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1680 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 115ms | Sum of p95 exceeds: 1099ms Sum of all benchmark exceeds: 1214ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Hi @chloeYue ! thank you very much for the review! The new added functions are renamed and will make sure to remember to follow the best practices doc, moving forward. |
Builds ready [52b12be]
UI Startup Metrics (1171 ± 79 ms)
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState Benchmark value 21 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 2266 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1739 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1733 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 1730 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2694 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2012 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 68 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 361 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 394 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 2001 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1455 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1266 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1265 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 124 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 16 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 1245 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1798 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 332 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 42 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 33 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1638 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1407 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1406 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 110 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 1387 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 14 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2115 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1680 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1679 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 315 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 34 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1661 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 48 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 418ms | Sum of p95 exceeds: 1074ms Sum of all benchmark exceeds: 1492ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [eac233c]
UI Startup Metrics (1210 ± 64 ms)
Benchmark value 20 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 250 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 2675 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 62 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 409 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 1975 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1423 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1250 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1250 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 120 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1675 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 263 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 36 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 28 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1384 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1384 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 104 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 1364 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2064 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1703 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1703 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 295 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1682 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 35 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 86ms | Sum of p95 exceeds: 783ms Sum of all benchmark exceeds: 869ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
@@ -93,6 +107,10 @@ class Confirmation { | |||
); | |||
} | |||
|
|||
async clickFooterCancelButtonAndWaitToDisappear() { | |||
await this.driver.clickElementAndWaitToDisappear(this.footerCancelButton); |
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.
nit: I think here, we want clickElementAndWaitForWindowToClose
, as the dialog closes once the button is clicked. Just a nit, as the above could also serve as flakiness mitigation, but we rather use this method when we are dealing with winow management flakiness, and the other one, when we are remain at the same window, if that makes sense
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.
Thank you very much! I tried to update it to clickElementAndWaitForWindowToClose
, but the test was failing with this error: Error: waitForWindowToClose timed out waiting for window handle to close.
I tried using it before, and got the same error.
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.
I see, you can dismiss my suggestion 🙏 I see what's happening, so this method is used both by the dialog view and for the full view, so in the full view, the window will never be closed. That's why the spec fails.
Thanks for looking into it ❤️
test/e2e/page-objects/pages/confirmations/redesign/confirmation.ts
Outdated
Show resolved
Hide resolved
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.
thank you for the changes!! I added a couple of small nits, just as small improvements if you want to take them.
Great work!!
Builds ready [97d9cfc]
UI Startup Metrics (1184 ± 56 ms)
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore Benchmark value 2224 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 2670 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2014 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 66 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 337 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 402 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 2005 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1433 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1260 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1259 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 129 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 1241 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1665 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 305 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 31 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 33 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1678 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1443 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1443 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 112 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 27 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 1418 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 17 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2150 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1771 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1771 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 317 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 52 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 34 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 1695 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 65 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 400ms | Sum of p95 exceeds: 1145ms Sum of all benchmark exceeds: 1545ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [adbf51b]
UI Startup Metrics (1216 ± 72 ms)
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState Benchmark value 2276 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1715 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1708 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 253 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 1705 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2812 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2090 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2085 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 419 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 2083 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 112 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 16 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 15 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1669 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 80 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 67 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1694 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1460 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1460 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 104 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 44 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 1438 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 15 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2110 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1730 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1730 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 295 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 1707 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 32 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 460ms | Sum of p95 exceeds: 1301ms Sum of all benchmark exceeds: 1761ms 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.
Bug: Dropdown Dismissal Broken in Firefox
The saveName
method now calls driver.fill()
and driver.press()
directly with a selector, whereas the original implementation first found the element and then called these methods on the element object. This change in API usage (from element.method()
to driver.method(selector)
) may cause incorrect behavior, potentially breaking the dropdown dismissal functionality in Firefox that relies on the Enter key press.
test/e2e/page-objects/pages/confirmations/redesign/confirmation.ts#L203-L209
metamask-extension/test/e2e/page-objects/pages/confirmations/redesign/confirmation.ts
Lines 203 to 209 in 0e75957
if (name) { | |
await this.driver.fill(this.formComboFieldInputSelector, name); | |
// Pressing enter before saving is needed for firefox to get the dropdown to go away. | |
await this.driver.press( | |
this.formComboFieldInputSelector, | |
this.driver.Key.ENTER, | |
); |
Was this report helpful? Give feedback by reacting with 👍 or 👎
Builds ready [0e75957]
UI Startup Metrics (1164 ± 71 ms)
Benchmark value 262 exceeds gate value 235 for chrome webpack home mean firstReactRender Benchmark value 2630 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2058 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2038 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 340 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 400 exceeds gate value 370 for chrome webpack home p95 firstReactRender Benchmark value 2027 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 118 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 13 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 216 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 75 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 1628 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1402 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1402 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 108 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 16 exceeds gate value 15 for firefox webpack home mean getState Benchmark value 1379 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2101 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1725 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1724 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 291 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 1665 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 37 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 130ms | Sum of p95 exceeds: 831ms Sum of all benchmark exceeds: 961ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Migrate the following e2e test spec files to Typescript and Page object modal
test/e2e/tests/petnames/petnames-helpers.js
test/e2e/tests/petnames/petnames-signatures.spec.js
test/e2e/tests/petnames/petnames-transactions.spec.js
Notes
petnames-signature.spec.ts
filewithSignatureFixtures
was used in the first two tests, instead of the originalwithFixtures
, and it does not includewithNoNames()
parameter.Verifying with @seaona there is no issue in removing the param, as the
AccountController
state is empty in the beginning of the test.await
in thetest/e2e/tests/confirmations/signatures/signature-helpers.ts
file was reverted in this commit , as it was failing e2e confirmations tests in the CI.This issue will be investigated with @seaona
Description
Related issues
Fixes: MMQA-338
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist