UNPKG

perfrunner

Version:

Command-line-interface for the perfrunner - automated UI performance test tool

52 lines (51 loc) 2.47 kB
"use strict"; 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 }); exports.mapConfigToPerfOptions = void 0; const utils_1 = require("../../utils"); const map = (config, network, page, cache) => __awaiter(void 0, void 0, void 0, function* () { return ({ network, chromeArgs: config.chromeArgs, executablePath: config.executablePath, ignoreDefaultArgs: config.ignoreDefaultArgs, useCache: cache, purge: false, reportOnly: config.reportOnly, headless: !config.noHeadless, throttlingRate: config.throttling, runs: config.runs, timeout: config.timeout, testName: config.testName, waitFor: page.waitFor, url: page.url, afterPageLoaded: (0, utils_1.isNullOrEmpty)(page.onAfterPageLoadedScript) ? undefined : yield (0, utils_1.loadExternalModule)(page.onAfterPageLoadedScript), output: config.testName ? (0, utils_1.getOutputPathFromtestName)(config.output, config.testName) : (0, utils_1.getOutputPathFromUrl)(config.output, page.url), }); }); function mapConfigToPerfOptions(jsonConfig) { return __awaiter(this, void 0, void 0, function* () { const testConfig = []; const enabledNetwork = jsonConfig.network.filter((x) => !x.disabled); for (const cache of jsonConfig.cache) { for (const page of jsonConfig.page) { for (const network of enabledNetwork) { testConfig.push(map(jsonConfig, network, page, cache)); } } } const testSetup = yield Promise.all(testConfig); return testSetup; }); } exports.mapConfigToPerfOptions = mapConfigToPerfOptions;