UNPKG

cybernaut

Version:

Reliable, zero configuration end-to-end testing in BDD-style.

39 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const createDebug = require("debug"); const selenium_webdriver_1 = require("selenium-webdriver"); const test_1 = require("./test"); const debug = createDebug('cybernaut:implementation'); class TapTest extends test_1.Test { constructor(driver, tap, options) { super(driver, options.retries, options.retryDelay); this._tap = tap; } fail(message, cause) { throw new Error(`${message} (cause: ${cause.message})`); } pass(message) { this._tap.pass(message); } } function execute(implementation, tap, options) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const { capabilities, timeouts } = options; debug('create a new WebDriver instance'); const driver = yield new selenium_webdriver_1.Builder().withCapabilities(capabilities).build(); try { debug('manage timeout behavior for the newly created WebDriver instance'); yield driver.manage().timeouts().implicitlyWait(timeouts.element); yield driver.manage().timeouts().pageLoadTimeout(timeouts.page); yield driver.manage().timeouts().setScriptTimeout(timeouts.script); debug('execute test implementation'); yield implementation(new TapTest(driver, tap, options)); } finally { yield driver.quit(); } }); } exports.execute = execute; //# sourceMappingURL=implementation.js.map