mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[functional/services] import By/until from module (#66015)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
parent
724f282059
commit
69a61d4ee7
4 changed files with 14 additions and 25 deletions
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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$ };
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue