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 933b08f7681e8b..770e82ad461d23 100644 --- a/test/functional/services/remote/remote.ts +++ b/test/functional/services/remote/remote.ts @@ -58,7 +58,7 @@ export async function RemoteProvider({ getService }: FtrProviderContext) { Fs.writeFileSync(path, JSON.stringify(JSON.parse(coverageJson), null, 2)); }; - const { driver, By, until, consoleLog$ } = await initWebDriver( + const { driver, consoleLog$ } = await initWebDriver( log, browserType, lifecycle, @@ -153,5 +153,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 df79db50b8683e..27d17bf754659c 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'; @@ -310,7 +310,7 @@ async function attemptToCreateCommand( return; } // abort - return { driver: session, By, until, consoleLog$ }; + return { driver: session, consoleLog$ }; } export async function initWebDriver(