@browserstack/testcafe
Version:
Automated browser testing for the modern web development stack.
32 lines • 5.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const endpoint_utils_1 = require("endpoint-utils");
const config_1 = __importDefault(require("./config"));
const create_temp_profile_1 = __importDefault(require("./create-temp-profile"));
const is_docker_1 = __importDefault(require("is-docker"));
class ChromeRuntimeInfo {
constructor(configString) {
this.config = config_1.default(configString);
this.tempProfileDir = null;
this.cdpPort = this.config.cdpPort;
this.inDocker = is_docker_1.default();
this.activeWindowId = null;
}
async createTempProfile(proxyHostName, allowMultipleWindows) {
return await create_temp_profile_1.default(proxyHostName, allowMultipleWindows);
}
static async create(proxyHostName, configString, allowMultipleWindows) {
const runtimeInfo = new this(configString);
if (!runtimeInfo.config.userProfile)
runtimeInfo.tempProfileDir = await runtimeInfo.createTempProfile(proxyHostName, allowMultipleWindows);
if (!runtimeInfo.cdpPort && !runtimeInfo.config.userProfile)
runtimeInfo.cdpPort = await endpoint_utils_1.getFreePort();
return runtimeInfo;
}
}
exports.default = ChromeRuntimeInfo;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Jyb3dzZXIvcHJvdmlkZXIvYnVpbHQtaW4vZGVkaWNhdGVkL2Nocm9tZS9ydW50aW1lLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBNkM7QUFDN0Msc0RBQWlDO0FBQ2pDLGdGQUFzRDtBQUN0RCwwREFBaUM7QUFJakMsTUFBcUIsaUJBQWlCO0lBVWxDLFlBQXVCLFlBQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQVcsZ0JBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQVMsbUJBQVEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFUyxLQUFLLENBQUMsaUJBQWlCLENBQUUsYUFBcUIsRUFBRSxvQkFBNkI7UUFDbkYsT0FBTyxNQUFNLDZCQUFpQixDQUFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBRSxhQUFxQixFQUFFLFlBQW9CLEVBQUUsb0JBQTZCO1FBQ2xHLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDL0IsV0FBVyxDQUFDLGNBQWMsR0FBRyxNQUFNLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVztZQUN2RCxXQUFXLENBQUMsT0FBTyxHQUFHLE1BQU0sNEJBQVcsRUFBRSxDQUFDO1FBRTlDLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSjtBQWpDRCxvQ0FpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRGcmVlUG9ydCB9IGZyb20gJ2VuZHBvaW50LXV0aWxzJztcbmltcG9ydCBnZXRDb25maWcgZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IGNyZWF0ZVRlbXBQcm9maWxlIGZyb20gJy4vY3JlYXRlLXRlbXAtcHJvZmlsZSc7XG5pbXBvcnQgaXNEb2NrZXIgZnJvbSAnaXMtZG9ja2VyJztcbmltcG9ydCBUZW1wRGlyZWN0b3J5IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzL3RlbXAtZGlyZWN0b3J5JztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaHJvbWVSdW50aW1lSW5mbyB7XG4gICAgcHVibGljIGNvbmZpZzogYW55O1xuICAgIHB1YmxpYyB0ZW1wUHJvZmlsZURpcjogbnVsbCB8IFRlbXBEaXJlY3Rvcnk7XG4gICAgcHVibGljIGNkcFBvcnQ6IG51bGwgfCBudW1iZXI7XG4gICAgcHVibGljIGluRG9ja2VyOiBib29sZWFuO1xuICAgIHB1YmxpYyBicm93c2VyTmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgYnJvd3NlcklkPzogc3RyaW5nO1xuICAgIHB1YmxpYyBwcm92aWRlck1ldGhvZHM/OiBEaWN0aW9uYXJ5PEZ1bmN0aW9uPjtcbiAgICBwdWJsaWMgYWN0aXZlV2luZG93SWQ6IG51bGwgfCBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IgKGNvbmZpZ1N0cmluZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29uZmlnICAgICAgICAgPSBnZXRDb25maWcoY29uZmlnU3RyaW5nKTtcbiAgICAgICAgdGhpcy50ZW1wUHJvZmlsZURpciA9IG51bGw7XG4gICAgICAgIHRoaXMuY2RwUG9ydCAgICAgICAgPSB0aGlzLmNvbmZpZy5jZHBQb3J0O1xuICAgICAgICB0aGlzLmluRG9ja2VyICAgICAgID0gaXNEb2NrZXIoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVXaW5kb3dJZCA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVRlbXBQcm9maWxlIChwcm94eUhvc3ROYW1lOiBzdHJpbmcsIGFsbG93TXVsdGlwbGVXaW5kb3dzOiBib29sZWFuKTogUHJvbWlzZTxUZW1wRGlyZWN0b3J5PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVUZW1wUHJvZmlsZShwcm94eUhvc3ROYW1lLCBhbGxvd011bHRpcGxlV2luZG93cyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhc3luYyBjcmVhdGUgKHByb3h5SG9zdE5hbWU6IHN0cmluZywgY29uZmlnU3RyaW5nOiBzdHJpbmcsIGFsbG93TXVsdGlwbGVXaW5kb3dzOiBib29sZWFuKTogUHJvbWlzZTxDaHJvbWVSdW50aW1lSW5mbz4ge1xuICAgICAgICBjb25zdCBydW50aW1lSW5mbyA9IG5ldyB0aGlzKGNvbmZpZ1N0cmluZyk7XG5cbiAgICAgICAgaWYgKCFydW50aW1lSW5mby5jb25maWcudXNlclByb2ZpbGUpXG4gICAgICAgICAgICBydW50aW1lSW5mby50ZW1wUHJvZmlsZURpciA9IGF3YWl0IHJ1bnRpbWVJbmZvLmNyZWF0ZVRlbXBQcm9maWxlKHByb3h5SG9zdE5hbWUsIGFsbG93TXVsdGlwbGVXaW5kb3dzKTtcblxuICAgICAgICBpZiAoIXJ1bnRpbWVJbmZvLmNkcFBvcnQgJiYgIXJ1bnRpbWVJbmZvLmNvbmZpZy51c2VyUHJvZmlsZSlcbiAgICAgICAgICAgIHJ1bnRpbWVJbmZvLmNkcFBvcnQgPSBhd2FpdCBnZXRGcmVlUG9ydCgpO1xuXG4gICAgICAgIHJldHVybiBydW50aW1lSW5mbztcbiAgICB9XG59XG4iXX0=