@jest-environment-browserstack/selenium-webdriver
Version:
an environment for using Browserstack with Jest
56 lines (55 loc) • 2.33 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const selenium_webdriver_1 = require("selenium-webdriver");
const plugins_1 = require("@jest-environment-browserstack/plugins");
class SeleniumWebDriver extends plugins_1.Driver {
constructor(capabilities, selHubUrl) {
super(SeleniumWebDriver.pluginName, capabilities);
this.selHubUrl = selHubUrl;
}
build(capabilities) {
return __awaiter(this, void 0, void 0, function* () {
const driverFactory = new selenium_webdriver_1.Builder().usingServer(this.selHubUrl).withCapabilities(capabilities || this.capabilities);
this.driver = yield driverFactory.build();
return this.driver;
});
}
quit() {
return __awaiter(this, void 0, void 0, function* () {
try {
yield this.driver.quit();
return true;
}
catch (e) {
this.logger(plugins_1.LogTypes.ERROR, e);
return false;
}
});
}
}
exports.SeleniumWebDriver = SeleniumWebDriver;
SeleniumWebDriver.pluginName = 'selenium-webdriver';
class PluginSeleniumWebDriver extends plugins_1.PluginDriver {
constructor() {
super('selenium-webdriver');
}
createWdDriver(capabilities, hubUrl) {
return __awaiter(this, void 0, void 0, function* () {
this.driver = new SeleniumWebDriver(capabilities, hubUrl);
return Promise.resolve(this.driver);
});
}
getName() {
return this.moduleName;
}
}
exports.PluginSeleniumWebDriver = PluginSeleniumWebDriver;