From 2e2b4ffb425efd80e0e3fb61444b878722bd6b7e Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 26 Oct 2023 11:50:04 +0200 Subject: [PATCH] Add a slight delay before selecting a visualization type (#169851) ## Summary Attempt at fixing https://github.com/elastic/kibana/issues/89958 As per my [latest comment](https://github.com/elastic/kibana/issues/89958#issuecomment-1779553320) on the issue, I believe that the test logic sometimes fails to select the appropriate visualisation type, in this case `Text` (aka markdown). The failure manifests [a couple of steps later](https://github.com/elastic/kibana/blob/main/x-pack/test/saved_object_tagging/functional/tests/visualize_integration.ts#L155), as this operation does not meet the expected "before state". The strategy of this fix consists in introducing an extra step, searching for the visualisation type, which should give the UI enough time to attach an event handler to the control. (cherry picked from commit 3d19006052a33b224b03c7fbda2ed408d9a43462) --- test/functional/page_objects/visualize_page.ts | 5 +++++ .../functional/tests/visualize_integration.ts | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/functional/page_objects/visualize_page.ts b/test/functional/page_objects/visualize_page.ts index a08b950ce9853..daa8ab00351bd 100644 --- a/test/functional/page_objects/visualize_page.ts +++ b/test/functional/page_objects/visualize_page.ts @@ -170,6 +170,11 @@ export class VisualizePageObject extends FtrService { } public async clickVisType(type: string) { + // checking for the existence of the control gives the UI more time to bind a click handler + // see https://github.com/elastic/kibana/issues/89958 + if (!(await this.hasVisType(type))) { + throw new Error(`The '${type}' visualization type does not exist (visType-${type})`); + } await this.testSubjects.click(`visType-${type}`); await this.header.waitUntilLoadingHasFinished(); } diff --git a/x-pack/test/saved_object_tagging/functional/tests/visualize_integration.ts b/x-pack/test/saved_object_tagging/functional/tests/visualize_integration.ts index b930818a9c500..a7a03a58ba0cf 100644 --- a/x-pack/test/saved_object_tagging/functional/tests/visualize_integration.ts +++ b/x-pack/test/saved_object_tagging/functional/tests/visualize_integration.ts @@ -123,8 +123,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/89958 - describe.skip('creating', () => { + describe('creating', () => { before(async () => { await PageObjects.visualize.gotoVisualizationLandingPage(); // delete all visualizations to create new ones explicitly