From 23a0dcebe2da0c7f2bba2c8cdbd63791d6d9cbb0 Mon Sep 17 00:00:00 2001 From: Lee Drengenberg Date: Wed, 16 Sep 2020 12:21:19 -0500 Subject: [PATCH] scroll to top of #kibana-body before trying to click createIndexButton (#77550) Co-authored-by: Elastic Machine --- test/functional/page_objects/common_page.ts | 4 ++++ test/functional/page_objects/settings_page.ts | 1 + test/functional/services/common/browser.ts | 6 ++++++ 3 files changed, 11 insertions(+) diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index 31f4e393f019..459f596b3025 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -496,6 +496,10 @@ export function CommonPageProvider({ getService, getPageObjects }: FtrProviderCo const input = await find.byCssSelector('.euiFilePicker__input'); await input.type(path); } + + async scrollKibanaBodyTop() { + await browser.setScrollToById('kibana-body', 0, 0); + } } return new CommonPage(); diff --git a/test/functional/page_objects/settings_page.ts b/test/functional/page_objects/settings_page.ts index 43e58a0a2e58..cf75d5ad7c10 100644 --- a/test/functional/page_objects/settings_page.ts +++ b/test/functional/page_objects/settings_page.ts @@ -356,6 +356,7 @@ export function SettingsPageProvider({ getService, getPageObjects }: FtrProvider } async clickAddNewIndexPatternButton() { + await PageObjects.common.scrollKibanaBodyTop(); await testSubjects.click('createIndexPatternButton'); } diff --git a/test/functional/services/common/browser.ts b/test/functional/services/common/browser.ts index 2f8e87c1d58d..daf1659f0cfe 100644 --- a/test/functional/services/common/browser.ts +++ b/test/functional/services/common/browser.ts @@ -480,6 +480,12 @@ export async function BrowserProvider({ getService }: FtrProviderContext) { return this.getScrollTop(); } + public async setScrollToById(elementId: string, xCoord: number, yCoord: number) { + await driver.executeScript( + `document.getElementById("${elementId}").scrollTo(${xCoord},${yCoord})` + ); + } + public async setScrollLeft(scrollSize: number | string) { await driver.executeScript('document.body.scrollLeft = ' + scrollSize); return this.getScrollLeft();