From 0b96b3cc4dd0a7f84e9ba3df72e28767d67d65f3 Mon Sep 17 00:00:00 2001 From: Dmitry Lemeshko Date: Tue, 12 May 2020 11:53:20 +0300 Subject: [PATCH] [functional/services] import By/until from module (#66015) Co-authored-by: Elastic Machine # Conflicts: # test/functional/services/remote/remote.ts --- test/functional/services/find.ts | 10 +++------ .../web_element_wrapper.ts | 21 +++++++------------ test/functional/services/remote/remote.ts | 4 ++-- test/functional/services/remote/webdriver.ts | 4 ++-- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/test/functional/services/find.ts b/test/functional/services/find.ts index 09fc32115f6833..3697e944610743 100644 --- a/test/functional/services/find.ts +++ b/test/functional/services/find.ts @@ -17,20 +17,16 @@ * under the License. */ -import { WebDriver, WebElement, By } from 'selenium-webdriver'; +import { WebDriver, WebElement, By, until } from 'selenium-webdriver'; import { FtrProviderContext } from '../ftr_provider_context'; import { WebElementWrapper } from './lib/web_element_wrapper'; export async function FindProvider({ getService }: FtrProviderContext) { const log = getService('log'); const config = getService('config'); - const webdriver = await getService('__webdriver__').init(); + const { driver, browserType } = await getService('__webdriver__').init(); const retry = getService('retry'); - const driver = webdriver.driver; - const until = webdriver.until; - const browserType = webdriver.browserType; - const WAIT_FOR_EXISTS_TIME = config.get('timeouts.waitForExists'); const POLLING_TIME = 500; const defaultFindTimeout = config.get('timeouts.find'); @@ -40,7 +36,7 @@ export async function FindProvider({ getService }: FtrProviderContext) { WebElementWrapper.create( webElement, locator, - webdriver, + driver, defaultFindTimeout, fixedHeaderHeight, log, diff --git a/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts b/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts index 8b57ecd3c82350..615dc783601bc9 100644 --- a/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts +++ b/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts @@ -18,7 +18,7 @@ */ import { delay } from 'bluebird'; -import { WebElement, WebDriver, By, Key, until } from 'selenium-webdriver'; +import { WebElement, WebDriver, By, Key } from 'selenium-webdriver'; import { PNG } from 'pngjs'; // @ts-ignore not supported yet import cheerio from 'cheerio'; @@ -29,12 +29,6 @@ import { CustomCheerio, CustomCheerioStatic } from './custom_cheerio_api'; import { scrollIntoViewIfNecessary } from './scroll_into_view_if_necessary'; import { Browsers } from '../../remote/browsers'; -interface Driver { - driver: WebDriver; - By: typeof By; - until: typeof until; -} - interface TypeOptions { charByChar: boolean; } @@ -51,16 +45,15 @@ const RETRY_CLICK_RETRY_ON_ERRORS = [ ]; export class WebElementWrapper { - private By = this.webDriver.By; - private driver: WebDriver = this.webDriver.driver; + private By = By; private Keys = Key; - public isW3CEnabled: boolean = (this.webDriver.driver as any).executor_.w3c === true; + public isW3CEnabled: boolean = (this.driver as any).executor_.w3c === true; public isChromium: boolean = [Browsers.Chrome, Browsers.ChromiumEdge].includes(this.browserType); public static create( webElement: WebElement | WebElementWrapper, locator: By | null, - webDriver: Driver, + driver: WebDriver, timeout: number, fixedHeaderHeight: number, logger: ToolingLog, @@ -73,7 +66,7 @@ export class WebElementWrapper { return new WebElementWrapper( webElement, locator, - webDriver, + driver, timeout, fixedHeaderHeight, logger, @@ -84,7 +77,7 @@ export class WebElementWrapper { constructor( public _webElement: WebElement, private locator: By | null, - private webDriver: Driver, + private driver: WebDriver, private timeout: number, private fixedHeaderHeight: number, private logger: ToolingLog, @@ -109,7 +102,7 @@ export class WebElementWrapper { return WebElementWrapper.create( otherWebElement, locator, - this.webDriver, + this.driver, this.timeout, this.fixedHeaderHeight, this.logger, diff --git a/test/functional/services/remote/remote.ts b/test/functional/services/remote/remote.ts index 5f149aab0b037b..e45c9d46f39be4 100644 --- a/test/functional/services/remote/remote.ts +++ b/test/functional/services/remote/remote.ts @@ -38,7 +38,7 @@ export async function RemoteProvider({ getService }: FtrProviderContext) { } }; - const { driver, By, until, consoleLog$ } = await initWebDriver( + const { driver, consoleLog$ } = await initWebDriver( log, browserType, lifecycle, @@ -98,5 +98,5 @@ export async function RemoteProvider({ getService }: FtrProviderContext) { await driver.quit(); }); - return { driver, By, until, browserType, consoleLog$ }; + return { driver, browserType, consoleLog$ }; } diff --git a/test/functional/services/remote/webdriver.ts b/test/functional/services/remote/webdriver.ts index f2aa57eeddea8c..71cad599c63eb8 100644 --- a/test/functional/services/remote/webdriver.ts +++ b/test/functional/services/remote/webdriver.ts @@ -28,7 +28,7 @@ import { delay } from 'bluebird'; import chromeDriver from 'chromedriver'; // @ts-ignore types not available import geckoDriver from 'geckodriver'; -import { Builder, Capabilities, By, logging, until } from 'selenium-webdriver'; +import { Builder, Capabilities, logging } from 'selenium-webdriver'; import chrome from 'selenium-webdriver/chrome'; import firefox from 'selenium-webdriver/firefox'; import edge from 'selenium-webdriver/edge'; @@ -300,7 +300,7 @@ async function attemptToCreateCommand( return; } // abort - return { driver: session, By, until, consoleLog$ }; + return { driver: session, consoleLog$ }; } export async function initWebDriver(