From 3b1c352df9f4651f21d340133d1b6d91a2199604 Mon Sep 17 00:00:00 2001 From: Maryam Saeidi Date: Tue, 25 Feb 2025 21:13:04 +0100 Subject: [PATCH] Attempt to fix AlertSummaryWidget flaky test (#212107) Fixes #198102 ## Summary The check that fails is related to status:All [here](https://github.com/elastic/kibana/blob/main/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts#L191): ``` expect(url.includes('status%3Aall')).to.be(true); ``` It seems the status is active from the previous step: This PR adds a retry to accommodate a delay in changing URLs. Co-authored-by: Dominique Clarke --- .../observability/pages/rule_details_page.ts | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts b/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts index 125e343f50a1c..6aa5c5ec27b7c 100644 --- a/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts +++ b/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts @@ -168,14 +168,16 @@ export default ({ getService }: FtrProviderContext) => { await observability.components.alertSummaryWidget.getActiveAlertSelector(); await activeAlerts.click(); - const url = await browser.getCurrentUrl(); - const from = 'rangeFrom:now-30d'; - const to = 'rangeTo:now'; + await retry.try(async () => { + const url = await browser.getCurrentUrl(); + const from = 'rangeFrom:now-30d'; + const to = 'rangeTo:now'; - expect(url.includes('tabId=alerts')).to.be(true); - expect(url.includes('status%3Aactive')).to.be(true); - expect(url.includes(from.replaceAll(':', '%3A'))).to.be(true); - expect(url.includes(to.replaceAll(':', '%3A'))).to.be(true); + expect(url.includes('tabId=alerts')).to.be(true); + expect(url.includes('status%3Aactive')).to.be(true); + expect(url.includes(from.replaceAll(':', '%3A'))).to.be(true); + expect(url.includes(to.replaceAll(':', '%3A'))).to.be(true); + }); }); it('handles clicking on total alerts correctly', async () => { @@ -183,14 +185,16 @@ export default ({ getService }: FtrProviderContext) => { await observability.components.alertSummaryWidget.getTotalAlertSelector(); await totalAlerts.click(); - const url = await browser.getCurrentUrl(); - const from = 'rangeFrom:now-30d'; - const to = 'rangeTo:now'; + await retry.try(async () => { + const url = await browser.getCurrentUrl(); + const from = 'rangeFrom:now-30d'; + const to = 'rangeTo:now'; - expect(url.includes('tabId=alerts')).to.be(true); - expect(url.includes('status%3Aall')).to.be(true); - expect(url.includes(from.replaceAll(':', '%3A'))).to.be(true); - expect(url.includes(to.replaceAll(':', '%3A'))).to.be(true); + expect(url.includes('tabId=alerts')).to.be(true); + expect(url.includes('status%3Aall')).to.be(true); + expect(url.includes(from.replaceAll(':', '%3A'))).to.be(true); + expect(url.includes(to.replaceAll(':', '%3A'))).to.be(true); + }); }); });