diff --git a/src/core_plugins/kibana/public/visualize/editor/panels/save.html b/src/core_plugins/kibana/public/visualize/editor/panels/save.html index d525912215d74ae..48dc4102b18b357 100644 --- a/src/core_plugins/kibana/public/visualize/editor/panels/save.html +++ b/src/core_plugins/kibana/public/visualize/editor/panels/save.html @@ -7,6 +7,7 @@ class="kuiLocalDropdownInput" input-focus="select" type="text" + data-test-subj="visTitleInput" name="visTitle" ng-model="opts.savedVis.title" required diff --git a/test/functional/page_objects/header_page.js b/test/functional/page_objects/header_page.js index e66666749ed0587..3a87673aab4e5d5 100644 --- a/test/functional/page_objects/header_page.js +++ b/test/functional/page_objects/header_page.js @@ -170,7 +170,9 @@ export function HeaderPageProvider({ getService, getPageObjects }) { async getToastMessage(findTimeout = defaultFindTimeout) { const toastMessage = await find.displayedByCssSelector('kbn-truncated.toast-message.ng-isolate-scope', findTimeout); - return toastMessage.getVisibleText(); + const messageText = await toastMessage.getVisibleText(); + log.debug(`getToastMessage: ${messageText}`); + return messageText; } async waitForToastMessageGone() { diff --git a/test/functional/page_objects/visualize_page.js b/test/functional/page_objects/visualize_page.js index 2dbfa0ca3a90911..7f56d0a7226e42f 100644 --- a/test/functional/page_objects/visualize_page.js +++ b/test/functional/page_objects/visualize_page.js @@ -303,11 +303,20 @@ export function VisualizePageProvider({ getService, getPageObjects }) { await find.clickByCssSelector('input[name="wms.enabled"]'); } + async ensureSavePanelOpen() { + log.debug('ensureSavePanelOpen'); + let isOpen = await testSubjects.exists('saveVisualizationButton'); + await retry.try(async () => { + while (!isOpen) { + await testSubjects.click('visualizeSaveButton'); + isOpen = await testSubjects.exists('saveVisualizationButton'); + } + }); + } + async saveVisualization(vizName) { - await testSubjects.click('visualizeSaveButton'); - log.debug('saveButton button clicked'); - const visTitle = await find.byName('visTitle'); - await visTitle.type(vizName); + await this.ensureSavePanelOpen(); + await testSubjects.setValue('visTitleInput', vizName); log.debug('click submit button'); await testSubjects.click('saveVisualizationButton'); await PageObjects.header.waitUntilLoadingHasFinished();