testcafe
Version:
Automated browser testing for the modern web development stack.
31 lines • 4.85 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("../../../../../utils/endpoint-utils");
const create_temp_profile_1 = __importDefault(require("./create-temp-profile"));
const is_docker_1 = __importDefault(require("is-docker"));
const is_podman_1 = __importDefault(require("is-podman"));
class ChromeRuntimeInfo {
constructor(config) {
this.config = config;
this.tempProfileDir = null;
this.cdpPort = this.config.cdpPort;
this.isContainerized = (0, is_docker_1.default)() || (0, is_podman_1.default)();
}
async createTempProfile(proxyHostName, disableMultipleWindows) {
return await (0, create_temp_profile_1.default)(proxyHostName, disableMultipleWindows);
}
static async create(proxyHostName, config, disableMultipleWindows) {
const runtimeInfo = new this(config);
if (!runtimeInfo.config.userProfile)
runtimeInfo.tempProfileDir = await runtimeInfo.createTempProfile(proxyHostName, disableMultipleWindows);
if (!runtimeInfo.cdpPort && !runtimeInfo.config.userProfile)
runtimeInfo.cdpPort = await (0, endpoint_utils_1.getFreePort)();
return runtimeInfo;
}
}
exports.default = ChromeRuntimeInfo;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Jyb3dzZXIvcHJvdmlkZXIvYnVpbHQtaW4vZGVkaWNhdGVkL2Nocm9tZS9ydW50aW1lLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBa0U7QUFDbEUsZ0ZBQXNEO0FBQ3RELDBEQUFpQztBQUNqQywwREFBaUM7QUFJakMsTUFBcUIsaUJBQWlCO0lBT2xDLFlBQXVCLE1BQWM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBWSxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUEsbUJBQVEsR0FBRSxJQUFJLElBQUEsbUJBQVEsR0FBRSxDQUFDO0lBQ3BELENBQUM7SUFFUyxLQUFLLENBQUMsaUJBQWlCLENBQUUsYUFBcUIsRUFBRSxzQkFBK0I7UUFDckYsT0FBTyxNQUFNLElBQUEsNkJBQWlCLEVBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFFLGFBQXFCLEVBQUUsTUFBYyxFQUFFLHNCQUErQjtRQUM5RixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFdBQVcsQ0FBQyxjQUFjLEdBQUcsTUFBTSxXQUFXLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFFNUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDdkQsV0FBVyxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUEsNEJBQVcsR0FBRSxDQUFDO1FBRTlDLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSjtBQTdCRCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRGcmVlUG9ydCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzL2VuZHBvaW50LXV0aWxzJztcbmltcG9ydCBjcmVhdGVUZW1wUHJvZmlsZSBmcm9tICcuL2NyZWF0ZS10ZW1wLXByb2ZpbGUnO1xuaW1wb3J0IGlzRG9ja2VyIGZyb20gJ2lzLWRvY2tlcic7XG5pbXBvcnQgaXNQb2RtYW4gZnJvbSAnaXMtcG9kbWFuJztcbmltcG9ydCBUZW1wRGlyZWN0b3J5IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzL3RlbXAtZGlyZWN0b3J5JztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENocm9tZVJ1bnRpbWVJbmZvIHtcbiAgICBwdWJsaWMgY29uZmlnOiBDb25maWc7XG4gICAgcHVibGljIHRlbXBQcm9maWxlRGlyOiBudWxsIHwgVGVtcERpcmVjdG9yeTtcbiAgICBwdWJsaWMgY2RwUG9ydDogbnVtYmVyO1xuICAgIHB1YmxpYyBpc0NvbnRhaW5lcml6ZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGJyb3dzZXJOYW1lPzogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yIChjb25maWc6IENvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyAgICAgICAgICA9IGNvbmZpZztcbiAgICAgICAgdGhpcy50ZW1wUHJvZmlsZURpciAgPSBudWxsO1xuICAgICAgICB0aGlzLmNkcFBvcnQgICAgICAgICA9IHRoaXMuY29uZmlnLmNkcFBvcnQ7XG4gICAgICAgIHRoaXMuaXNDb250YWluZXJpemVkID0gaXNEb2NrZXIoKSB8fCBpc1BvZG1hbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBjcmVhdGVUZW1wUHJvZmlsZSAocHJveHlIb3N0TmFtZTogc3RyaW5nLCBkaXNhYmxlTXVsdGlwbGVXaW5kb3dzOiBib29sZWFuKTogUHJvbWlzZTxUZW1wRGlyZWN0b3J5PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVUZW1wUHJvZmlsZShwcm94eUhvc3ROYW1lLCBkaXNhYmxlTXVsdGlwbGVXaW5kb3dzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIGNyZWF0ZSAocHJveHlIb3N0TmFtZTogc3RyaW5nLCBjb25maWc6IENvbmZpZywgZGlzYWJsZU11bHRpcGxlV2luZG93czogYm9vbGVhbik6IFByb21pc2U8Q2hyb21lUnVudGltZUluZm8+IHtcbiAgICAgICAgY29uc3QgcnVudGltZUluZm8gPSBuZXcgdGhpcyhjb25maWcpO1xuXG4gICAgICAgIGlmICghcnVudGltZUluZm8uY29uZmlnLnVzZXJQcm9maWxlKVxuICAgICAgICAgICAgcnVudGltZUluZm8udGVtcFByb2ZpbGVEaXIgPSBhd2FpdCBydW50aW1lSW5mby5jcmVhdGVUZW1wUHJvZmlsZShwcm94eUhvc3ROYW1lLCBkaXNhYmxlTXVsdGlwbGVXaW5kb3dzKTtcblxuICAgICAgICBpZiAoIXJ1bnRpbWVJbmZvLmNkcFBvcnQgJiYgIXJ1bnRpbWVJbmZvLmNvbmZpZy51c2VyUHJvZmlsZSlcbiAgICAgICAgICAgIHJ1bnRpbWVJbmZvLmNkcFBvcnQgPSBhd2FpdCBnZXRGcmVlUG9ydCgpO1xuXG4gICAgICAgIHJldHVybiBydW50aW1lSW5mbztcbiAgICB9XG59XG4iXX0=