From 0ccf12d94e2971fbdf40ceb75d4cbc63f670c850 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 12:27:06 +0100 Subject: [PATCH 01/14] flakiness queued 2 --- .circleci/config.yml | 2 -- .../alerts/queued-confirmations.spec.ts | 14 +++++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e165e7cc283f..17da2216fe47 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -138,7 +138,6 @@ workflows: requires: - prep-deps - test-e2e-chrome-webpack: - <<: *main_master_rc_only requires: - prep-build-test-webpack - get-changed-files-with-git-diff @@ -147,7 +146,6 @@ workflows: - prep-build-test - get-changed-files-with-git-diff - test-e2e-firefox: - <<: *main_master_rc_only requires: - prep-build-test-mv2 - get-changed-files-with-git-diff diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 8584b7e66a60..1a4685a9f568 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -261,7 +261,7 @@ describe('Queued Confirmations', function () { ); }); - it('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { + it.only('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { const smartContract = SMART_CONTRACTS.PIGGYBANK; await withFixtures( @@ -312,9 +312,17 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.delay(2000); + await driver.waitUntilXWindowHandles(4); - await switchToDAppTwoAndCreateSignTypedDataRequest(driver); + // Switch to dapp two and trigger a typed signature + await driver.switchToWindowWithUrl(DAPP_ONE_URL); + await driver.waitForSelector({ + css: '[id="chainId"]', + text: '0x539', + }); + + // signTypedData request + await driver.clickElement('#signTypedData'); const events = await getEventPayloads( driver, From 6b6e1a3334d76213acc1304b06ea77f2e17781e7 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 12:45:21 +0100 Subject: [PATCH 02/14] fix --- .../confirmations/alerts/queued-confirmations.spec.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 1a4685a9f568..d1e5630f2d89 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */ import { strict as assert } from 'assert'; import { MockedEndpoint, MockttpServer } from 'mockttp'; +import { By } from 'selenium-webdriver'; import { MetaMetricsEventName } from '../../../../../shared/constants/metametrics'; import { getEventPayloads } from '../../../helpers'; import { SMART_CONTRACTS } from '../../../seeder/smart-contracts'; @@ -222,7 +223,11 @@ describe('Queued Confirmations', function () { await switchChainToDappOne(driver); await switchToDAppAndCreateTransactionRequest(driver); + await driver.waitUntilXWindowHandles(4); await switchToDAppAndCreateTransactionRequest(driver); + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); + await driver.waitForSelector(By.xpath("//div[normalize-space(.)='1 of 2']")); + await switchToDAppTwoAndCreateSignTypedDataRequest(driver); const events = await getEventPayloads( @@ -261,7 +266,7 @@ describe('Queued Confirmations', function () { ); }); - it.only('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { + it('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { const smartContract = SMART_CONTRACTS.PIGGYBANK; await withFixtures( @@ -316,10 +321,6 @@ describe('Queued Confirmations', function () { // Switch to dapp two and trigger a typed signature await driver.switchToWindowWithUrl(DAPP_ONE_URL); - await driver.waitForSelector({ - css: '[id="chainId"]', - text: '0x539', - }); // signTypedData request await driver.clickElement('#signTypedData'); From 22122d01af70143e7b07d8605692949e98e8a900 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 12:50:15 +0100 Subject: [PATCH 03/14] timings --- .../confirmations/alerts/queued-confirmations.spec.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index d1e5630f2d89..551e7c37bb17 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -317,13 +317,9 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.waitUntilXWindowHandles(4); - - // Switch to dapp two and trigger a typed signature - await driver.switchToWindowWithUrl(DAPP_ONE_URL); + await driver.delay(5000); - // signTypedData request - await driver.clickElement('#signTypedData'); + await switchToDAppTwoAndCreateSignTypedDataRequest(driver); const events = await getEventPayloads( driver, From 6a21d3b8f3b3dea90ee590f9c72968530cbed62f Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 12:58:39 +0100 Subject: [PATCH 04/14] ensure txs are loaded --- .../alerts/queued-confirmations.spec.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 551e7c37bb17..c591f705257f 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -76,7 +76,7 @@ describe('Queued Confirmations', function () { ); }); - it('Banner is shown on dApp 1, but not on dApp 2 after adding multiple transactions on dApp 1, and one on dApp 2', async function () { + it.only('Banner is shown on dApp 1, but not on dApp 2 after adding multiple transactions on dApp 1, and one on dApp 2', async function () { await withFixtures( { dapp: true, @@ -112,8 +112,18 @@ describe('Queued Confirmations', function () { await switchChainToDappOne(driver); await switchToDAppAndCreateTransactionRequest(driver); + await driver.waitUntilXWindowHandles(4); await switchToDAppAndCreateTransactionRequest(driver); + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); + await driver.waitForSelector( + By.xpath("//div[normalize-space(.)='1 of 2']"), + ); + await switchToDAppAndCreateTransactionRequest(driver); + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); + await driver.waitForSelector( + By.xpath("//div[normalize-space(.)='1 of 3']"), + ); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); @@ -226,8 +236,9 @@ describe('Queued Confirmations', function () { await driver.waitUntilXWindowHandles(4); await switchToDAppAndCreateTransactionRequest(driver); await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); - await driver.waitForSelector(By.xpath("//div[normalize-space(.)='1 of 2']")); - + await driver.waitForSelector( + By.xpath("//div[normalize-space(.)='1 of 2']"), + ); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); const events = await getEventPayloads( From 85486b7fbcd378f61ea26968109a39c28178fd73 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 12:59:04 +0100 Subject: [PATCH 05/14] remove only --- .../e2e/tests/confirmations/alerts/queued-confirmations.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index c591f705257f..8ef64d2b1280 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -76,7 +76,7 @@ describe('Queued Confirmations', function () { ); }); - it.only('Banner is shown on dApp 1, but not on dApp 2 after adding multiple transactions on dApp 1, and one on dApp 2', async function () { + it('Banner is shown on dApp 1, but not on dApp 2 after adding multiple transactions on dApp 1, and one on dApp 2', async function () { await withFixtures( { dapp: true, From eedfec701abfa606ba9871d83851660650c8c9ad Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 15:05:35 +0100 Subject: [PATCH 06/14] fix --- .../tests/confirmations/alerts/queued-confirmations.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 8ef64d2b1280..ba20d126b215 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -328,7 +328,7 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.delay(5000); + await driver.delay(2000); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); @@ -436,7 +436,7 @@ async function switchChainToDappOne(driver: Driver) { // No dialog should appear as we already gave permissions to this network await driver.waitForSelector({ css: '[id="chainId"]', - text: '0x539', + text: '0x3e8', }); } From 9380f2ba650047ef5c7f060b051a90598b792a06 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 15:36:36 +0100 Subject: [PATCH 07/14] more guards --- .../confirmations/alerts/queued-confirmations.spec.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index ba20d126b215..1c0d3cf85094 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -277,7 +277,7 @@ describe('Queued Confirmations', function () { ); }); - it('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { + it.only('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { const smartContract = SMART_CONTRACTS.PIGGYBANK; await withFixtures( @@ -327,7 +327,12 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - + await driver.waitUntilXWindowHandles(4); + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); + await driver.waitForSelector({ + tag: 'p', + text: '127.0.0.1:8080', + }); await driver.delay(2000); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); From c4f9888e5d49d1f2833c2f3544e88a8f68649993 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 15:38:56 +0100 Subject: [PATCH 08/14] remove only --- .../e2e/tests/confirmations/alerts/queued-confirmations.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 1c0d3cf85094..374251b4adda 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -277,7 +277,7 @@ describe('Queued Confirmations', function () { ); }); - it.only('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { + it('Metric is sent from the nav bar and the banner alert (redesigned confirmation flow)', async function () { const smartContract = SMART_CONTRACTS.PIGGYBANK; await withFixtures( From 333050447a68acb875dab71bea6daf3575b2d503 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 16:01:03 +0100 Subject: [PATCH 09/14] roll back --- .../alerts/queued-confirmations.spec.ts | 25 ++----------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 374251b4adda..f1b2dec9d060 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */ import { strict as assert } from 'assert'; import { MockedEndpoint, MockttpServer } from 'mockttp'; -import { By } from 'selenium-webdriver'; import { MetaMetricsEventName } from '../../../../../shared/constants/metametrics'; import { getEventPayloads } from '../../../helpers'; import { SMART_CONTRACTS } from '../../../seeder/smart-contracts'; @@ -112,18 +111,8 @@ describe('Queued Confirmations', function () { await switchChainToDappOne(driver); await switchToDAppAndCreateTransactionRequest(driver); - await driver.waitUntilXWindowHandles(4); await switchToDAppAndCreateTransactionRequest(driver); - await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); - await driver.waitForSelector( - By.xpath("//div[normalize-space(.)='1 of 2']"), - ); - await switchToDAppAndCreateTransactionRequest(driver); - await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); - await driver.waitForSelector( - By.xpath("//div[normalize-space(.)='1 of 3']"), - ); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); @@ -233,12 +222,7 @@ describe('Queued Confirmations', function () { await switchChainToDappOne(driver); await switchToDAppAndCreateTransactionRequest(driver); - await driver.waitUntilXWindowHandles(4); await switchToDAppAndCreateTransactionRequest(driver); - await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); - await driver.waitForSelector( - By.xpath("//div[normalize-space(.)='1 of 2']"), - ); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); const events = await getEventPayloads( @@ -327,12 +311,7 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.waitUntilXWindowHandles(4); - await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); - await driver.waitForSelector({ - tag: 'p', - text: '127.0.0.1:8080', - }); + await driver.delay(2000); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); @@ -499,4 +478,4 @@ async function queueControllerMocks(server: MockttpServer) { await mockedTrackedQueueControllerEvent(server), await mockedTrackedQueueControllerEvent(server), ]; -} +} \ No newline at end of file From b5ab527bf3a4d84cc672d604d8c2d7563dc8461f Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 16:41:16 +0100 Subject: [PATCH 10/14] fix delay --- .../tests/confirmations/alerts/queued-confirmations.spec.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index f1b2dec9d060..18a9c3fa5b87 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -167,7 +167,7 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.delay(2000); + await driver.delay(5000); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); @@ -312,7 +312,7 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.delay(2000); + await driver.delay(5000); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); @@ -321,6 +321,8 @@ describe('Queued Confirmations', function () { mockedEndpoints as MockedEndpoint[], ); + console.log(events) + assert.equal(events.length, 2); assert.equal( From b1eb86f779a51b55bec47f0fe74531faec60c062 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 16:45:10 +0100 Subject: [PATCH 11/14] only metrics --- .../e2e/tests/confirmations/alerts/queued-confirmations.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index 18a9c3fa5b87..b75eb72b04c9 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -167,7 +167,7 @@ describe('Queued Confirmations', function () { // create deposit transaction in dapp 1 await createDepositTransaction(driver); - await driver.delay(5000); + await driver.delay(2000); await switchToDAppTwoAndCreateSignTypedDataRequest(driver); From f7e431832f3af78ddd090831d3446b3f3a124317 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 16:45:41 +0100 Subject: [PATCH 12/14] remove console log --- .../e2e/tests/confirmations/alerts/queued-confirmations.spec.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index b75eb72b04c9..bc54a8cd546e 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -321,8 +321,6 @@ describe('Queued Confirmations', function () { mockedEndpoints as MockedEndpoint[], ); - console.log(events) - assert.equal(events.length, 2); assert.equal( From c3824cd8cc24db00ef4515209daad347d3d441c7 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 17:20:19 +0100 Subject: [PATCH 13/14] add filters back --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 17da2216fe47..e165e7cc283f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -138,6 +138,7 @@ workflows: requires: - prep-deps - test-e2e-chrome-webpack: + <<: *main_master_rc_only requires: - prep-build-test-webpack - get-changed-files-with-git-diff @@ -146,6 +147,7 @@ workflows: - prep-build-test - get-changed-files-with-git-diff - test-e2e-firefox: + <<: *main_master_rc_only requires: - prep-build-test-mv2 - get-changed-files-with-git-diff From ba5f69e66da535265b684b72a73a7c3ff8892e15 Mon Sep 17 00:00:00 2001 From: seaona Date: Fri, 31 Jan 2025 17:31:16 +0100 Subject: [PATCH 14/14] lint --- .../e2e/tests/confirmations/alerts/queued-confirmations.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts index bc54a8cd546e..8e8f90447c6c 100644 --- a/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts +++ b/test/e2e/tests/confirmations/alerts/queued-confirmations.spec.ts @@ -478,4 +478,4 @@ async function queueControllerMocks(server: MockttpServer) { await mockedTrackedQueueControllerEvent(server), await mockedTrackedQueueControllerEvent(server), ]; -} \ No newline at end of file +}