UNPKG

@browserstack/testcafe

Version:

Automated browser testing for the modern web development stack.

48 lines 6.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const testcafe_browser_tools_1 = __importDefault(require("testcafe-browser-tools")); exports.default = { openedBrowsers: {}, isMultiBrowser: true, supportMultipleWindows: true, needCleanUpBrowserInfo: true, getActiveWindowId(browserId) { return this.openedBrowsers[browserId].activeWindowId; }, setActiveWindowId(browserId, val) { this.openedBrowsers[browserId].activeWindowId = val; }, cleanUpBrowserInfo(browserId) { delete this.openedBrowsers[browserId]; }, async openBrowser(browserId, pageUrl, browserName, allowMultipleWindows) { const args = browserName.split(' '); const alias = args.shift(); const browserInfo = await testcafe_browser_tools_1.default.getBrowserInfo(alias); const openParameters = Object.assign({}, browserInfo); if (args.length) openParameters.cmd = args.join(' ') + (openParameters.cmd ? ' ' + openParameters.cmd : ''); await testcafe_browser_tools_1.default.open(openParameters, pageUrl); let activeWindowId = null; if (allowMultipleWindows) activeWindowId = this.calculateWindowId(); this.openedBrowsers[browserId] = { activeWindowId }; }, async isLocalBrowser() { return true; }, async getBrowserList() { const installations = await testcafe_browser_tools_1.default.getInstallations(); return Object.keys(installations); }, async isValidBrowserName(browserName) { const browserNames = await this.getBrowserList(); browserName = browserName.toLowerCase().split(' ')[0]; return browserNames.indexOf(browserName) > -1; } }; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxseS1pbnN0YWxsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9sb2NhbGx5LWluc3RhbGxlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9GQUFrRDtBQUVsRCxrQkFBZTtJQUNYLGNBQWMsRUFBRSxFQUFFO0lBRWxCLGNBQWMsRUFBRSxJQUFJO0lBRXBCLHNCQUFzQixFQUFFLElBQUk7SUFFNUIsc0JBQXNCLEVBQUUsSUFBSTtJQUU1QixpQkFBaUIsQ0FBRSxTQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDekQsQ0FBQztJQUVELGlCQUFpQixDQUFFLFNBQVMsRUFBRSxHQUFHO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUN4RCxDQUFDO0lBRUQsa0JBQWtCLENBQUUsU0FBUztRQUN6QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CO1FBQ3BFLE1BQU0sSUFBSSxHQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTNCLE1BQU0sV0FBVyxHQUFNLE1BQU0sZ0NBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEQsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUNYLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvRixNQUFNLGdDQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVqRCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxvQkFBb0I7WUFDcEIsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sYUFBYSxHQUFHLE1BQU0sZ0NBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFFLFdBQVc7UUFDakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFakQsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEQsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJyb3dzZXJUb29scyBmcm9tICd0ZXN0Y2FmZS1icm93c2VyLXRvb2xzJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIG9wZW5lZEJyb3dzZXJzOiB7fSxcblxuICAgIGlzTXVsdGlCcm93c2VyOiB0cnVlLFxuXG4gICAgc3VwcG9ydE11bHRpcGxlV2luZG93czogdHJ1ZSxcblxuICAgIG5lZWRDbGVhblVwQnJvd3NlckluZm86IHRydWUsXG5cbiAgICBnZXRBY3RpdmVXaW5kb3dJZCAoYnJvd3NlcklkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF0uYWN0aXZlV2luZG93SWQ7XG4gICAgfSxcblxuICAgIHNldEFjdGl2ZVdpbmRvd0lkIChicm93c2VySWQsIHZhbCkge1xuICAgICAgICB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF0uYWN0aXZlV2luZG93SWQgPSB2YWw7XG4gICAgfSxcblxuICAgIGNsZWFuVXBCcm93c2VySW5mbyAoYnJvd3NlcklkKSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG4gICAgfSxcblxuICAgIGFzeW5jIG9wZW5Ccm93c2VyIChicm93c2VySWQsIHBhZ2VVcmwsIGJyb3dzZXJOYW1lLCBhbGxvd011bHRpcGxlV2luZG93cykge1xuICAgICAgICBjb25zdCBhcmdzICA9IGJyb3dzZXJOYW1lLnNwbGl0KCcgJyk7XG4gICAgICAgIGNvbnN0IGFsaWFzID0gYXJncy5zaGlmdCgpO1xuXG4gICAgICAgIGNvbnN0IGJyb3dzZXJJbmZvICAgID0gYXdhaXQgYnJvd3NlclRvb2xzLmdldEJyb3dzZXJJbmZvKGFsaWFzKTtcbiAgICAgICAgY29uc3Qgb3BlblBhcmFtZXRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBicm93c2VySW5mbyk7XG5cbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoKVxuICAgICAgICAgICAgb3BlblBhcmFtZXRlcnMuY21kID0gYXJncy5qb2luKCcgJykgKyAob3BlblBhcmFtZXRlcnMuY21kID8gJyAnICsgb3BlblBhcmFtZXRlcnMuY21kIDogJycpO1xuXG4gICAgICAgIGF3YWl0IGJyb3dzZXJUb29scy5vcGVuKG9wZW5QYXJhbWV0ZXJzLCBwYWdlVXJsKTtcblxuICAgICAgICBsZXQgYWN0aXZlV2luZG93SWQgPSBudWxsO1xuXG4gICAgICAgIGlmIChhbGxvd011bHRpcGxlV2luZG93cylcbiAgICAgICAgICAgIGFjdGl2ZVdpbmRvd0lkID0gdGhpcy5jYWxjdWxhdGVXaW5kb3dJZCgpO1xuXG4gICAgICAgIHRoaXMub3BlbmVkQnJvd3NlcnNbYnJvd3NlcklkXSA9IHsgYWN0aXZlV2luZG93SWQgfTtcbiAgICB9LFxuXG4gICAgYXN5bmMgaXNMb2NhbEJyb3dzZXIgKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuXG4gICAgYXN5bmMgZ2V0QnJvd3Nlckxpc3QgKCkge1xuICAgICAgICBjb25zdCBpbnN0YWxsYXRpb25zID0gYXdhaXQgYnJvd3NlclRvb2xzLmdldEluc3RhbGxhdGlvbnMoKTtcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoaW5zdGFsbGF0aW9ucyk7XG4gICAgfSxcblxuICAgIGFzeW5jIGlzVmFsaWRCcm93c2VyTmFtZSAoYnJvd3Nlck5hbWUpIHtcbiAgICAgICAgY29uc3QgYnJvd3Nlck5hbWVzID0gYXdhaXQgdGhpcy5nZXRCcm93c2VyTGlzdCgpO1xuXG4gICAgICAgIGJyb3dzZXJOYW1lID0gYnJvd3Nlck5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpWzBdO1xuXG4gICAgICAgIHJldHVybiBicm93c2VyTmFtZXMuaW5kZXhPZihicm93c2VyTmFtZSkgPiAtMTtcbiAgICB9XG59O1xuIl19