seedling/source/selenium/src/common/WebDriver.ts

26 lines
679 B
TypeScript
Raw Normal View History

2023-12-28 21:58:08 +00:00
import { binding } from 'cucumber-tsflow';
import { Builder, Capabilities, ThenableWebDriver } from 'selenium-webdriver';
const capabilities = Capabilities.chrome();
capabilities.set('chromeOptions', { w3c: false });
@binding()
export class WebDriver {
protected readonly driver: ThenableWebDriver;
private static instance: WebDriver;
public constructor() {
if (WebDriver.instance) {
return WebDriver.instance;
}
this.driver = new Builder().usingServer(process.env.SELENIUM_SERVER_URL).withCapabilities(capabilities).build();
this.driver.manage().setTimeouts({ implicit: 100 });
WebDriver.instance = this;
}
public getDriver() {
return this.driver;
}
}