testplane 8.23.1 → 8.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/package.json +1 -1
- package/build/src/browser/new-browser.d.ts +6 -5
- package/build/src/browser/new-browser.js +36 -25
- package/build/src/browser/new-browser.js.map +1 -1
- package/build/src/browser/types.d.ts +9 -0
- package/build/src/browser/types.js +9 -0
- package/build/src/browser/types.js.map +1 -1
- package/build/src/browser-installer/chrome/browser.d.ts +2 -0
- package/build/src/browser-installer/chrome/browser.js +23 -7
- package/build/src/browser-installer/chrome/browser.js.map +1 -1
- package/build/src/browser-installer/chrome/driver.js +6 -6
- package/build/src/browser-installer/chrome/driver.js.map +1 -1
- package/build/src/browser-installer/chrome/index.d.ts +2 -2
- package/build/src/browser-installer/chrome/index.js +2 -1
- package/build/src/browser-installer/chrome/index.js.map +1 -1
- package/build/src/browser-installer/chromium/browser.js +6 -5
- package/build/src/browser-installer/chromium/browser.js.map +1 -1
- package/build/src/browser-installer/chromium/driver.js +1 -1
- package/build/src/browser-installer/chromium/driver.js.map +1 -1
- package/build/src/browser-installer/constants.d.ts +4 -0
- package/build/src/browser-installer/constants.js +7 -1
- package/build/src/browser-installer/constants.js.map +1 -1
- package/build/src/browser-installer/edge/browser.d.ts +1 -0
- package/build/src/browser-installer/edge/browser.js +57 -0
- package/build/src/browser-installer/edge/browser.js.map +1 -0
- package/build/src/browser-installer/edge/driver.js +3 -3
- package/build/src/browser-installer/edge/driver.js.map +1 -1
- package/build/src/browser-installer/edge/index.d.ts +1 -0
- package/build/src/browser-installer/edge/index.js +3 -1
- package/build/src/browser-installer/edge/index.js.map +1 -1
- package/build/src/browser-installer/firefox/browser.d.ts +2 -0
- package/build/src/browser-installer/firefox/browser.js +24 -6
- package/build/src/browser-installer/firefox/browser.js.map +1 -1
- package/build/src/browser-installer/firefox/driver.js +3 -3
- package/build/src/browser-installer/firefox/driver.js.map +1 -1
- package/build/src/browser-installer/firefox/index.d.ts +2 -2
- package/build/src/browser-installer/firefox/index.js +2 -1
- package/build/src/browser-installer/firefox/index.js.map +1 -1
- package/build/src/browser-installer/index.d.ts +1 -1
- package/build/src/browser-installer/index.js +3 -3
- package/build/src/browser-installer/index.js.map +1 -1
- package/build/src/browser-installer/install.js +19 -16
- package/build/src/browser-installer/install.js.map +1 -1
- package/build/src/browser-installer/registry/index.d.ts +1 -1
- package/build/src/browser-installer/registry/index.js +26 -17
- package/build/src/browser-installer/registry/index.js.map +1 -1
- package/build/src/browser-installer/resolve-browser-version.d.ts +4 -0
- package/build/src/browser-installer/resolve-browser-version.js +41 -0
- package/build/src/browser-installer/resolve-browser-version.js.map +1 -0
- package/build/src/browser-installer/run.d.ts +1 -1
- package/build/src/browser-installer/run.js +7 -7
- package/build/src/browser-installer/run.js.map +1 -1
- package/build/src/browser-installer/safari/browser.d.ts +1 -0
- package/build/src/browser-installer/safari/browser.js +25 -0
- package/build/src/browser-installer/safari/browser.js.map +1 -0
- package/build/src/browser-installer/safari/index.d.ts +1 -0
- package/build/src/browser-installer/safari/index.js +3 -1
- package/build/src/browser-installer/safari/index.js.map +1 -1
- package/build/src/browser-installer/utils.d.ts +5 -12
- package/build/src/browser-installer/utils.js +3 -29
- package/build/src/browser-installer/utils.js.map +1 -1
- package/build/src/browser-pool/webdriver-pool.js +6 -7
- package/build/src/browser-pool/webdriver-pool.js.map +1 -1
- package/build/src/cli/commands/list-browsers/index.d.ts +2 -0
- package/build/src/cli/commands/list-browsers/index.js +74 -0
- package/build/src/cli/commands/list-browsers/index.js.map +1 -0
- package/build/src/cli/constants.d.ts +1 -0
- package/build/src/cli/constants.js +1 -0
- package/build/src/cli/constants.js.map +1 -1
- package/build/src/constants/config.d.ts +13 -10
- package/build/src/constants/config.js +36 -11
- package/build/src/constants/config.js.map +1 -1
- package/build/src/utils/browser.d.ts +2 -0
- package/build/src/utils/browser.js +21 -1
- package/build/src/utils/browser.js.map +1 -1
- package/package.json +1 -1
package/build/package.json
CHANGED
|
@@ -3,11 +3,12 @@ import { RemoteOptions } from "webdriverio";
|
|
|
3
3
|
import { Browser, BrowserOpts } from "./browser";
|
|
4
4
|
import { Config } from "../config";
|
|
5
5
|
import { BrowserConfig } from "../config/browser-config";
|
|
6
|
-
|
|
7
|
-
export type
|
|
8
|
-
|
|
6
|
+
import { type W3CBrowserName } from "./types";
|
|
7
|
+
export type VendorSpecificCapabilityName = "goog:chromeOptions" | "moz:firefoxOptions" | "ms:edgeOptions";
|
|
8
|
+
export type HeadlessBrowserOptions = Partial<Record<W3CBrowserName, {
|
|
9
|
+
capabilityName: VendorSpecificCapabilityName;
|
|
9
10
|
getArgs: (headlessMode: BrowserConfig["headless"]) => string[];
|
|
10
|
-
}
|
|
11
|
+
}>>;
|
|
11
12
|
export declare class NewBrowser extends Browser {
|
|
12
13
|
constructor(config: Config, opts: BrowserOpts);
|
|
13
14
|
init(): Promise<NewBrowser>;
|
|
@@ -21,7 +22,7 @@ export declare class NewBrowser extends Browser {
|
|
|
21
22
|
protected _addHeadlessCapability(headless: BrowserConfig["headless"], capabilities: WebdriverIO.Capabilities): WebdriverIO.Capabilities;
|
|
22
23
|
protected _extendCapabilitiesByVersion(): WebdriverIO.Capabilities;
|
|
23
24
|
protected _getLocalWebdriverGridUrl(): Promise<string>;
|
|
24
|
-
protected
|
|
25
|
+
protected _applyLocalBrowserCapabilities(config: BrowserConfig, capabilities: WebdriverIO.Capabilities): Promise<WebdriverIO.Capabilities>;
|
|
25
26
|
protected _getGridHost(url: URI): string;
|
|
26
27
|
protected _getQueryParams(query: string): Record<string, string>;
|
|
27
28
|
}
|
|
@@ -35,31 +35,25 @@ const browser_1 = require("./browser");
|
|
|
35
35
|
const signal_handler_1 = __importDefault(require("../signal-handler"));
|
|
36
36
|
const history_1 = require("./history");
|
|
37
37
|
const logger_1 = require("../utils/logger");
|
|
38
|
+
const browser_2 = require("../utils/browser");
|
|
38
39
|
const runtime_config_1 = require("../config/runtime-config");
|
|
39
40
|
const config_1 = require("../constants/config");
|
|
40
41
|
const defaults_1 = require("../config/defaults");
|
|
42
|
+
const types_1 = require("./types");
|
|
41
43
|
const DEFAULT_PORT = 4444;
|
|
42
44
|
const headlessBrowserOptions = {
|
|
43
|
-
|
|
45
|
+
[types_1.BrowserName.CHROME]: {
|
|
44
46
|
capabilityName: "goog:chromeOptions",
|
|
45
47
|
getArgs: (headlessMode) => {
|
|
46
48
|
const headlessValue = (0, lodash_1.isBoolean)(headlessMode) ? "headless" : `headless=${headlessMode}`;
|
|
47
49
|
return [headlessValue, "disable-gpu"];
|
|
48
50
|
},
|
|
49
51
|
},
|
|
50
|
-
|
|
52
|
+
[types_1.BrowserName.FIREFOX]: {
|
|
51
53
|
capabilityName: "moz:firefoxOptions",
|
|
52
54
|
getArgs: () => ["-headless"],
|
|
53
55
|
},
|
|
54
|
-
|
|
55
|
-
capabilityName: "ms:edgeOptions",
|
|
56
|
-
getArgs: () => ["--headless"],
|
|
57
|
-
},
|
|
58
|
-
edge: {
|
|
59
|
-
capabilityName: "ms:edgeOptions",
|
|
60
|
-
getArgs: () => ["--headless"],
|
|
61
|
-
},
|
|
62
|
-
microsoftedge: {
|
|
56
|
+
[types_1.BrowserName.EDGE]: {
|
|
63
57
|
capabilityName: "ms:edgeOptions",
|
|
64
58
|
getArgs: () => ["--headless"],
|
|
65
59
|
},
|
|
@@ -160,15 +154,18 @@ class NewBrowser extends browser_1.Browser {
|
|
|
160
154
|
: config.desiredCapabilities;
|
|
161
155
|
const capabilitiesWithAddedHeadless = this._addHeadlessCapability(config.headless, capabilitiesExtendedByVersion);
|
|
162
156
|
return this._isLocalGridUrl()
|
|
163
|
-
? this.
|
|
157
|
+
? this._applyLocalBrowserCapabilities(config, capabilitiesWithAddedHeadless)
|
|
164
158
|
: Promise.resolve(capabilitiesWithAddedHeadless);
|
|
165
159
|
}
|
|
166
160
|
_addHeadlessCapability(headless, capabilities) {
|
|
167
161
|
if (!headless) {
|
|
168
162
|
return capabilities;
|
|
169
163
|
}
|
|
170
|
-
const
|
|
171
|
-
|
|
164
|
+
const browserNameW3C = (0, browser_2.getNormalizedBrowserName)(capabilities.browserName);
|
|
165
|
+
if (!browserNameW3C) {
|
|
166
|
+
return capabilities;
|
|
167
|
+
}
|
|
168
|
+
const capabilitySettings = headlessBrowserOptions[browserNameW3C];
|
|
172
169
|
if (!capabilitySettings) {
|
|
173
170
|
(0, logger_1.warn)(`WARNING: Headless setting is not supported for ${capabilities.browserName} browserName`);
|
|
174
171
|
return capabilities;
|
|
@@ -197,23 +194,37 @@ class NewBrowser extends browser_1.Browser {
|
|
|
197
194
|
this._wdProcess = await this._wdPool.getWebdriver(this._config.desiredCapabilities?.browserName, this._config.desiredCapabilities?.browserVersion, { debug: this._config.system.debug });
|
|
198
195
|
return this._wdProcess.gridUrl;
|
|
199
196
|
}
|
|
200
|
-
async
|
|
201
|
-
const {
|
|
202
|
-
const
|
|
203
|
-
if (!
|
|
197
|
+
async _applyLocalBrowserCapabilities(config, capabilities) {
|
|
198
|
+
const { installBrowser } = await Promise.resolve().then(() => __importStar(require("../browser-installer")));
|
|
199
|
+
const browserNameW3C = (0, browser_2.getNormalizedBrowserName)(config.desiredCapabilities?.browserName);
|
|
200
|
+
if (!browserNameW3C) {
|
|
204
201
|
throw new Error([
|
|
205
|
-
`Running auto local "${
|
|
202
|
+
`Running auto local "${config.desiredCapabilities?.browserName}" is unsupported`,
|
|
206
203
|
`Supported browsers: "chrome", "firefox", "safari", "edge"`,
|
|
207
204
|
].join("\n"));
|
|
208
205
|
}
|
|
209
|
-
const executablePath = await installBrowser(
|
|
206
|
+
const executablePath = await installBrowser(browserNameW3C, config.desiredCapabilities?.browserVersion, {
|
|
207
|
+
shouldInstallWebDriver: false,
|
|
208
|
+
shouldInstallUbuntuPackages: true,
|
|
209
|
+
});
|
|
210
210
|
if (executablePath) {
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
const capabilitySettings = headlessBrowserOptions[browserNameW3C];
|
|
212
|
+
if (!capabilitySettings) {
|
|
213
|
+
return capabilities;
|
|
214
|
+
}
|
|
215
|
+
capabilities[capabilitySettings.capabilityName] ||= {};
|
|
216
|
+
capabilities[capabilitySettings.capabilityName].binary ||= executablePath;
|
|
215
217
|
}
|
|
216
|
-
|
|
218
|
+
const filteredCapabilities = Object.keys(capabilities)
|
|
219
|
+
.filter(capabilityName => {
|
|
220
|
+
const isW3CCapability = config_1.W3C_CAPABILITIES.includes(capabilityName);
|
|
221
|
+
const isVendorSpecificCapability = config_1.VENDOR_CAPABILITIES[browserNameW3C].includes(capabilityName);
|
|
222
|
+
return isW3CCapability || isVendorSpecificCapability;
|
|
223
|
+
})
|
|
224
|
+
.reduce((acc, capabilityName) => {
|
|
225
|
+
return (0, lodash_1.set)(acc, [capabilityName], capabilities[capabilityName]);
|
|
226
|
+
}, {});
|
|
227
|
+
return filteredCapabilities;
|
|
217
228
|
}
|
|
218
229
|
_getGridHost(url) {
|
|
219
230
|
return new urijs_1.default({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-browser.js","sourceRoot":"","sources":["../../../src/browser/new-browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAsC;AAEtC,kDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"new-browser.js","sourceRoot":"","sources":["../../../src/browser/new-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { Browser as PuppeteerBrowser } from "@puppeteer/browsers";
|
|
2
3
|
import type { EventEmitter } from "events";
|
|
3
4
|
import type { AssertViewCommand, AssertViewElementCommand } from "./commands/types";
|
|
4
5
|
import type { BrowserConfig } from "./../config/browser-config";
|
|
@@ -7,6 +8,14 @@ import { MoveCursorToCommand } from "./commands/moveCursorTo";
|
|
|
7
8
|
import { OpenAndWaitCommand } from "./commands/openAndWait";
|
|
8
9
|
import Callstack from "./history/callstack";
|
|
9
10
|
import { Test, Hook } from "../test-reader/test-object";
|
|
11
|
+
export declare const BrowserName: {
|
|
12
|
+
readonly CHROME: PuppeteerBrowser.CHROME;
|
|
13
|
+
readonly CHROMIUM: PuppeteerBrowser.CHROMIUM;
|
|
14
|
+
readonly FIREFOX: PuppeteerBrowser.FIREFOX;
|
|
15
|
+
readonly SAFARI: "safari";
|
|
16
|
+
readonly EDGE: "MicrosoftEdge";
|
|
17
|
+
};
|
|
18
|
+
export type W3CBrowserName = Exclude<(typeof BrowserName)[keyof typeof BrowserName], PuppeteerBrowser.CHROMIUM>;
|
|
10
19
|
export interface BrowserMeta {
|
|
11
20
|
pid: number;
|
|
12
21
|
browserVersion: string;
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrowserName = void 0;
|
|
4
|
+
const browsers_1 = require("@puppeteer/browsers");
|
|
5
|
+
exports.BrowserName = {
|
|
6
|
+
CHROME: browsers_1.Browser.CHROME,
|
|
7
|
+
CHROMIUM: browsers_1.Browser.CHROMIUM,
|
|
8
|
+
FIREFOX: browsers_1.Browser.FIREFOX,
|
|
9
|
+
SAFARI: "safari",
|
|
10
|
+
EDGE: "MicrosoftEdge",
|
|
11
|
+
};
|
|
3
12
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":";;;AAAA,kDAAkE;AAUrD,QAAA,WAAW,GAAG;IACvB,MAAM,EAAE,kBAAgB,CAAC,MAAM;IAC/B,QAAQ,EAAE,kBAAgB,CAAC,QAAQ;IACnC,OAAO,EAAE,kBAAgB,CAAC,OAAO;IACjC,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,eAAe;CACf,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import _ from "lodash";
|
|
1
2
|
export declare const installChrome: (version: string, { force, needWebDriver, needUbuntuPackages }?: {
|
|
2
3
|
force?: boolean | undefined;
|
|
3
4
|
needWebDriver?: boolean | undefined;
|
|
4
5
|
needUbuntuPackages?: boolean | undefined;
|
|
5
6
|
}) => Promise<string>;
|
|
7
|
+
export declare const resolveLatestChromeVersion: ((force?: any) => Promise<string>) & _.MemoizedFunction;
|
|
@@ -26,7 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.installChrome = void 0;
|
|
29
|
+
exports.resolveLatestChromeVersion = exports.installChrome = void 0;
|
|
30
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
30
31
|
const browsers_1 = require("@puppeteer/browsers");
|
|
31
32
|
const constants_1 = require("../constants");
|
|
32
33
|
const utils_1 = require("../utils");
|
|
@@ -34,6 +35,7 @@ const registry_1 = __importDefault(require("../registry"));
|
|
|
34
35
|
const utils_2 = require("../utils");
|
|
35
36
|
const ubuntu_packages_1 = require("../ubuntu-packages");
|
|
36
37
|
const driver_1 = require("./driver");
|
|
38
|
+
const types_1 = require("../../browser/types");
|
|
37
39
|
const installChromeBrowser = async (version, { force = false } = {}) => {
|
|
38
40
|
const milestone = (0, utils_1.getMilestone)(version);
|
|
39
41
|
if (Number(milestone) < constants_1.MIN_CHROME_FOR_TESTING_VERSION) {
|
|
@@ -42,15 +44,15 @@ const installChromeBrowser = async (version, { force = false } = {}) => {
|
|
|
42
44
|
return installChromium(version, { force });
|
|
43
45
|
}
|
|
44
46
|
const platform = (0, utils_1.getBrowserPlatform)();
|
|
45
|
-
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(
|
|
47
|
+
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(types_1.BrowserName.CHROME, platform, version);
|
|
46
48
|
if (existingLocallyBrowserVersion && !force) {
|
|
47
49
|
(0, utils_1.browserInstallerDebug)(`A locally installed chrome@${version} browser was found. Skipping the installation`);
|
|
48
|
-
return registry_1.default.getBinaryPath(
|
|
50
|
+
return registry_1.default.getBinaryPath(types_1.BrowserName.CHROME, platform, existingLocallyBrowserVersion);
|
|
49
51
|
}
|
|
50
52
|
const normalizedVersion = (0, utils_2.normalizeChromeVersion)(version);
|
|
51
|
-
const buildId = await (0, browsers_1.resolveBuildId)(
|
|
53
|
+
const buildId = await (0, browsers_1.resolveBuildId)(types_1.BrowserName.CHROME, platform, normalizedVersion);
|
|
52
54
|
const cacheDir = (0, utils_1.getBrowsersDir)();
|
|
53
|
-
const canBeInstalled = await (0, browsers_1.canDownload)({ browser:
|
|
55
|
+
const canBeInstalled = await (0, browsers_1.canDownload)({ browser: types_1.BrowserName.CHROME, platform, buildId, cacheDir });
|
|
54
56
|
if (!canBeInstalled) {
|
|
55
57
|
throw new Error([
|
|
56
58
|
`chrome@${version} can't be installed.`,
|
|
@@ -63,10 +65,10 @@ const installChromeBrowser = async (version, { force = false } = {}) => {
|
|
|
63
65
|
buildId,
|
|
64
66
|
cacheDir,
|
|
65
67
|
downloadProgressCallback,
|
|
66
|
-
browser:
|
|
68
|
+
browser: types_1.BrowserName.CHROME,
|
|
67
69
|
unpack: true,
|
|
68
70
|
}).then(result => result.executablePath);
|
|
69
|
-
return registry_1.default.installBinary(
|
|
71
|
+
return registry_1.default.installBinary(types_1.BrowserName.CHROME, platform, buildId, installFn);
|
|
70
72
|
};
|
|
71
73
|
const installChrome = async (version, { force = false, needWebDriver = false, needUbuntuPackages = false } = {}) => {
|
|
72
74
|
const [browserPath] = await Promise.all([
|
|
@@ -77,4 +79,18 @@ const installChrome = async (version, { force = false, needWebDriver = false, ne
|
|
|
77
79
|
return browserPath;
|
|
78
80
|
};
|
|
79
81
|
exports.installChrome = installChrome;
|
|
82
|
+
exports.resolveLatestChromeVersion = lodash_1.default.memoize(async (force = false) => {
|
|
83
|
+
if (!force) {
|
|
84
|
+
const platform = (0, utils_1.getBrowserPlatform)();
|
|
85
|
+
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(types_1.BrowserName.CHROME, platform);
|
|
86
|
+
if (existingLocallyBrowserVersion) {
|
|
87
|
+
return existingLocallyBrowserVersion;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return (0, utils_1.retryFetch)(constants_1.CHROME_FOR_TESTING_LATEST_STABLE_API_URL)
|
|
91
|
+
.then(res => res.text())
|
|
92
|
+
.catch(() => {
|
|
93
|
+
throw new Error("Couldn't resolve latest chrome version");
|
|
94
|
+
});
|
|
95
|
+
});
|
|
80
96
|
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/chrome/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/chrome/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,10 +33,10 @@ const utils_1 = require("../utils");
|
|
|
33
33
|
const registry_1 = __importDefault(require("../registry"));
|
|
34
34
|
const installChromeDriver = async (chromeVersion, { force = false } = {}) => {
|
|
35
35
|
const platform = (0, utils_1.getBrowserPlatform)();
|
|
36
|
-
const existingLocallyDriverVersion = registry_1.default.getMatchedDriverVersion(utils_1.
|
|
36
|
+
const existingLocallyDriverVersion = registry_1.default.getMatchedDriverVersion(utils_1.DriverName.CHROMEDRIVER, platform, chromeVersion);
|
|
37
37
|
if (existingLocallyDriverVersion && !force) {
|
|
38
38
|
(0, utils_1.browserInstallerDebug)(`A locally installed chromedriver for chrome@${chromeVersion} was found. Skipping the installation`);
|
|
39
|
-
return registry_1.default.getBinaryPath(utils_1.
|
|
39
|
+
return registry_1.default.getBinaryPath(utils_1.DriverName.CHROMEDRIVER, platform, existingLocallyDriverVersion);
|
|
40
40
|
}
|
|
41
41
|
const milestone = (0, utils_1.getMilestone)(chromeVersion);
|
|
42
42
|
if (Number(milestone) < constants_1.MIN_CHROMEDRIVER_FOR_TESTING_VERSION) {
|
|
@@ -44,9 +44,9 @@ const installChromeDriver = async (chromeVersion, { force = false } = {}) => {
|
|
|
44
44
|
const { installChromeDriverManually } = await Promise.resolve().then(() => __importStar(require("../chromium")));
|
|
45
45
|
return installChromeDriverManually(milestone);
|
|
46
46
|
}
|
|
47
|
-
const buildId = await (0, browsers_1.resolveBuildId)(utils_1.
|
|
47
|
+
const buildId = await (0, browsers_1.resolveBuildId)(utils_1.DriverName.CHROMEDRIVER, platform, milestone);
|
|
48
48
|
const cacheDir = (0, utils_1.getChromeDriverDir)();
|
|
49
|
-
const canBeInstalled = await (0, browsers_1.canDownload)({ browser: utils_1.
|
|
49
|
+
const canBeInstalled = await (0, browsers_1.canDownload)({ browser: utils_1.DriverName.CHROMEDRIVER, platform, buildId, cacheDir });
|
|
50
50
|
if (!canBeInstalled) {
|
|
51
51
|
throw new Error([
|
|
52
52
|
`chromedriver@${buildId} can't be installed.`,
|
|
@@ -58,11 +58,11 @@ const installChromeDriver = async (chromeVersion, { force = false } = {}) => {
|
|
|
58
58
|
platform,
|
|
59
59
|
buildId,
|
|
60
60
|
cacheDir: (0, utils_1.getChromeDriverDir)(),
|
|
61
|
-
browser: utils_1.
|
|
61
|
+
browser: utils_1.DriverName.CHROMEDRIVER,
|
|
62
62
|
unpack: true,
|
|
63
63
|
downloadProgressCallback,
|
|
64
64
|
}).then(result => result.executablePath);
|
|
65
|
-
return registry_1.default.installBinary(utils_1.
|
|
65
|
+
return registry_1.default.installBinary(utils_1.DriverName.CHROMEDRIVER, platform, buildId, installFn);
|
|
66
66
|
};
|
|
67
67
|
exports.installChromeDriver = installChromeDriver;
|
|
68
68
|
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/chrome/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA+F;AAC/F,4CAAoE;AACpE,oCAOkB;AAClB,2DAAmC;AAE5B,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAqB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IACxG,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACtC,MAAM,4BAA4B,GAAG,kBAAQ,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/chrome/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA+F;AAC/F,4CAAoE;AACpE,oCAOkB;AAClB,2DAAmC;AAE5B,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAqB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IACxG,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACtC,MAAM,4BAA4B,GAAG,kBAAQ,CAAC,uBAAuB,CACjE,kBAAU,CAAC,YAAY,EACvB,QAAQ,EACR,aAAa,CAChB,CAAC;IAEF,IAAI,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAA,6BAAqB,EACjB,+CAA+C,aAAa,uCAAuC,CACtG,CAAC;QAEF,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,gDAAoC,EAAE,CAAC;QAC3D,IAAA,6BAAqB,EACjB,sCAAsC,aAAa,oDAAoD,CAC1G,CAAC;QAEF,MAAM,EAAE,2BAA2B,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAEpE,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAc,EAAC,kBAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACtC,MAAM,cAAc,GAAG,MAAM,IAAA,sBAAW,EAAC,EAAE,OAAO,EAAE,kBAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE5G,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACX;YACI,gBAAgB,OAAO,sBAAsB;YAC7C,uCAAuC,SAAS,cAAc;YAC9D,+CAA+C;SAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,wBAAkD,EAAmB,EAAE,CACtF,IAAA,kBAAgB,EAAC;QACb,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAA,0BAAkB,GAAE;QAC9B,OAAO,EAAE,kBAAU,CAAC,YAAY;QAChC,MAAM,EAAE,IAAI;QACZ,wBAAwB;KAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE7C,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AACzF,CAAC,CAAC;AAtDW,QAAA,mBAAmB,uBAsD9B"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
import { type ChildProcess } from "child_process";
|
|
5
|
-
import { installChrome } from "./browser";
|
|
5
|
+
import { installChrome, resolveLatestChromeVersion } from "./browser";
|
|
6
6
|
import { installChromeDriver } from "./driver";
|
|
7
|
-
export { installChrome, installChromeDriver };
|
|
7
|
+
export { installChrome, resolveLatestChromeVersion, installChromeDriver };
|
|
8
8
|
export declare const runChromeDriver: (chromeVersion: string, { debug }?: {
|
|
9
9
|
debug?: boolean | undefined;
|
|
10
10
|
}) => Promise<{
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.runChromeDriver = exports.installChromeDriver = exports.installChrome = void 0;
|
|
6
|
+
exports.runChromeDriver = exports.installChromeDriver = exports.resolveLatestChromeVersion = exports.installChrome = void 0;
|
|
7
7
|
const child_process_1 = require("child_process");
|
|
8
8
|
const get_port_1 = __importDefault(require("get-port"));
|
|
9
9
|
const wait_port_1 = __importDefault(require("wait-port"));
|
|
@@ -12,6 +12,7 @@ const constants_1 = require("../constants");
|
|
|
12
12
|
const utils_2 = require("../utils");
|
|
13
13
|
const browser_1 = require("./browser");
|
|
14
14
|
Object.defineProperty(exports, "installChrome", { enumerable: true, get: function () { return browser_1.installChrome; } });
|
|
15
|
+
Object.defineProperty(exports, "resolveLatestChromeVersion", { enumerable: true, get: function () { return browser_1.resolveLatestChromeVersion; } });
|
|
15
16
|
const driver_1 = require("./driver");
|
|
16
17
|
Object.defineProperty(exports, "installChromeDriver", { enumerable: true, get: function () { return driver_1.installChromeDriver; } });
|
|
17
18
|
const ubuntu_packages_1 = require("../ubuntu-packages");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/chrome/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyD;AACzD,wDAA+B;AAC/B,0DAAiC;AACjC,kDAA4D;AAC5D,4CAAmD;AACnD,oCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/chrome/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyD;AACzD,wDAA+B;AAC/B,0DAAiC;AACjC,kDAA4D;AAC5D,4CAAmD;AACnD,oCAAwC;AACxC,uCAAsE;AAI7D,8FAJA,uBAAa,OAIA;AAAE,2GAJA,oCAA0B,OAIA;AAHlD,qCAA+C;AAGK,oGAH3C,4BAAmB,OAG2C;AAFvE,wDAAkE;AAI3D,MAAM,eAAe,GAAG,KAAK,EAChC,aAAqB,EACrB,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAC2C,EAAE;IACnE,MAAM,CAAC,gBAAgB,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtE,IAAA,4BAAmB,EAAC,aAAa,CAAC;QAClC,IAAA,kBAAO,GAAE;QACT,IAAA,0BAAQ,GAAE;aACL,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,oCAAkB,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACpF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,qBAAK,EAAC,gBAAgB,EAAE,CAAC,UAAU,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;QACrG,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,eAAe;KACvB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACR,IAAA,0BAAkB,EAAC,YAAY,EAAE,iBAAiB,IAAA,oBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,UAAU,EAAE,CAAC;IAEjD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,IAAA,mBAAQ,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,+BAAmB,EAAE,CAAC,CAAC;IAErF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAChE,CAAC,CAAC;AA7BW,QAAA,eAAe,mBA6B1B"}
|
|
@@ -10,6 +10,7 @@ const utils_1 = require("../utils");
|
|
|
10
10
|
const utils_2 = require("./utils");
|
|
11
11
|
const utils_3 = require("../utils");
|
|
12
12
|
const constants_1 = require("../constants");
|
|
13
|
+
const types_1 = require("../../browser/types");
|
|
13
14
|
const installChromium = async (version, { force = false } = {}) => {
|
|
14
15
|
const milestone = (0, utils_1.getMilestone)(version);
|
|
15
16
|
if (Number(milestone) < constants_1.MIN_CHROMIUM_VERSION) {
|
|
@@ -19,14 +20,14 @@ const installChromium = async (version, { force = false } = {}) => {
|
|
|
19
20
|
].join("\n"));
|
|
20
21
|
}
|
|
21
22
|
const platform = (0, utils_3.getChromePlatform)(version);
|
|
22
|
-
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(
|
|
23
|
+
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(types_1.BrowserName.CHROMIUM, platform, version);
|
|
23
24
|
if (existingLocallyBrowserVersion && !force) {
|
|
24
25
|
(0, utils_1.browserInstallerDebug)(`A locally installed chromium@${version} browser was found. Skipping the installation`);
|
|
25
|
-
return registry_1.default.getBinaryPath(
|
|
26
|
+
return registry_1.default.getBinaryPath(types_1.BrowserName.CHROMIUM, platform, existingLocallyBrowserVersion);
|
|
26
27
|
}
|
|
27
28
|
const buildId = await (0, utils_2.getChromiumBuildId)(platform, milestone);
|
|
28
29
|
const cacheDir = (0, utils_1.getBrowsersDir)();
|
|
29
|
-
const canBeInstalled = await (0, browsers_1.canDownload)({ browser:
|
|
30
|
+
const canBeInstalled = await (0, browsers_1.canDownload)({ browser: types_1.BrowserName.CHROMIUM, platform, buildId, cacheDir });
|
|
30
31
|
if (!canBeInstalled) {
|
|
31
32
|
throw new Error([
|
|
32
33
|
`chrome@${version} can't be installed.`,
|
|
@@ -40,10 +41,10 @@ const installChromium = async (version, { force = false } = {}) => {
|
|
|
40
41
|
buildId,
|
|
41
42
|
cacheDir,
|
|
42
43
|
downloadProgressCallback,
|
|
43
|
-
browser:
|
|
44
|
+
browser: types_1.BrowserName.CHROMIUM,
|
|
44
45
|
unpack: true,
|
|
45
46
|
}).then(result => result.executablePath);
|
|
46
|
-
return registry_1.default.installBinary(
|
|
47
|
+
return registry_1.default.installBinary(types_1.BrowserName.CHROMIUM, platform, milestone, installFn);
|
|
47
48
|
};
|
|
48
49
|
exports.installChromium = installChromium;
|
|
49
50
|
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/chromium/browser.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+E;AAC/E,2DAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/chromium/browser.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+E;AAC/E,2DAAmC;AACnC,oCAA8G;AAC9G,mCAA6C;AAC7C,oCAA6C;AAC7C,4CAAoD;AACpD,+CAAkD;AAE3C,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IAC9F,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAExC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,gCAAoB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACX;YACI,UAAU,OAAO,sBAAsB;YACvC,uEAAuE,gCAAoB,EAAE;SAChG,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,6BAA6B,GAAG,kBAAQ,CAAC,wBAAwB,CAAC,mBAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEjH,IAAI,6BAA6B,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAA,6BAAqB,EAAC,gCAAgC,OAAO,+CAA+C,CAAC,CAAC;QAE9G,OAAO,kBAAQ,CAAC,aAAa,CAAC,mBAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAc,GAAE,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,IAAA,sBAAW,EAAC,EAAE,OAAO,EAAE,mBAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEzG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACX;YACI,UAAU,OAAO,sBAAsB;YACvC,yBAAyB,OAAO,2CAA2C;YAC3E,gCAAgC;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACN,CAAC;IAED,IAAA,6BAAqB,EAAC,uBAAuB,OAAO,KAAK,SAAS,SAAS,QAAQ,EAAE,CAAC,CAAC;IAEvF,MAAM,SAAS,GAAG,CAAC,wBAAkD,EAAmB,EAAE,CACtF,IAAA,kBAAgB,EAAC;QACb,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,wBAAwB;QACxB,OAAO,EAAE,mBAAW,CAAC,QAAQ;QAC7B,MAAM,EAAE,IAAI;KACf,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE7C,OAAO,kBAAQ,CAAC,aAAa,CAAC,mBAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxF,CAAC,CAAC;AAhDW,QAAA,eAAe,mBAgD1B"}
|
|
@@ -35,7 +35,7 @@ const installChromeDriverManually = async (milestone) => {
|
|
|
35
35
|
fs_extra_1.default.remove(archivePath).then(lodash_1.noop, lodash_1.noop);
|
|
36
36
|
return chromeDriverPath;
|
|
37
37
|
};
|
|
38
|
-
return registry_1.default.installBinary(utils_1.
|
|
38
|
+
return registry_1.default.installBinary(utils_1.DriverName.CHROMEDRIVER, platform, driverVersion, installFn);
|
|
39
39
|
};
|
|
40
40
|
exports.installChromeDriverManually = installChromeDriverManually;
|
|
41
41
|
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/chromium/driver.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,mCAA8B;AAC9B,4CAA8E;AAC9E,2DAAmC;AACnC,oCAQkB;AAClB,mCAAmF;AAEnF,MAAM,uCAAuC,GAAG,KAAK,EAAE,eAAgC,EAAmB,EAAE;IACxG,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,eAAe,CAAC,CAAC;IAE/G,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,GAAG,oCAAwB,mBAAmB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhH,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IACpF,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAEtC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,gCAAoB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACX;YACI,gBAAgB,SAAS,sBAAsB;YAC/C,sEAAsE,gCAAoB,EAAE;SAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACN,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,uCAAuC,CAAC,SAAS,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;QAC1C,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAA,qCAA6B,EAAC,aAAa,CAAC,CAAC;QACjE,MAAM,mBAAmB,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,CAAC;QAChE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAExE,MAAM,IAAA,oBAAY,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,IAAA,iBAAS,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAElD,kBAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAI,EAAE,aAAI,CAAC,CAAC;QAExC,OAAO,gBAAgB,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,kBAAQ,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/chromium/driver.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,mCAA8B;AAC9B,4CAA8E;AAC9E,2DAAmC;AACnC,oCAQkB;AAClB,mCAAmF;AAEnF,MAAM,uCAAuC,GAAG,KAAK,EAAE,eAAgC,EAAmB,EAAE;IACxG,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,eAAe,CAAC,CAAC;IAE/G,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,GAAG,oCAAwB,mBAAmB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhH,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IACpF,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAEtC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,gCAAoB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACX;YACI,gBAAgB,SAAS,sBAAsB;YAC/C,sEAAsE,gCAAoB,EAAE;SAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IACN,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,uCAAuC,CAAC,SAAS,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;QAC1C,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAA,qCAA6B,EAAC,aAAa,CAAC,CAAC;QACjE,MAAM,mBAAmB,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,CAAC;QAChE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAExE,MAAM,IAAA,oBAAY,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,IAAA,iBAAS,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAElD,kBAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAI,EAAE,aAAI,CAAC,CAAC;QAExC,OAAO,gBAAgB,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC/F,CAAC,CAAC;AA7BW,QAAA,2BAA2B,+BA6BtC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export declare const CHROMEDRIVER_STORAGE_API = "https://chromedriver.storage.googleapis.com";
|
|
2
|
+
export declare const CHROME_FOR_TESTING_MILESTONES_API_URL = "https://googlechromelabs.github.io/chrome-for-testing/latest-versions-per-milestone.json";
|
|
3
|
+
export declare const CHROME_FOR_TESTING_LATEST_STABLE_API_URL = "https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_STABLE";
|
|
2
4
|
export declare const GECKODRIVER_CARGO_TOML = "https://raw.githubusercontent.com/mozilla/geckodriver/release/Cargo.toml";
|
|
5
|
+
export declare const FIREFOX_VERSIONS_ALL_VERSIONS_API_URL = "https://product-details.mozilla.org/1.0/firefox.json";
|
|
6
|
+
export declare const FIREFOX_VERSIONS_LATEST_VERSIONS_API_URL = "https://product-details.mozilla.org/1.0/firefox_versions.json";
|
|
3
7
|
export declare const MSEDGEDRIVER_API = "https://msedgedriver.azureedge.net";
|
|
4
8
|
export declare const SAFARIDRIVER_PATH = "/usr/bin/safaridriver";
|
|
5
9
|
export declare const MIN_CHROME_FOR_TESTING_VERSION = 113;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MANDATORY_UBUNTU_PACKAGES_TO_BE_INSTALLED = exports.LINUX_RUNTIME_LIBRARIES_PATH_ENV_NAME = exports.LINUX_UBUNTU_RELEASE_ID = exports.DRIVER_WAIT_TIMEOUT = exports.MIN_EDGEDRIVER_VERSION = exports.MIN_FIREFOX_VERSION = exports.MIN_CHROMIUM_VERSION = exports.MIN_CHROMIUM_MAC_ARM_VERSION = exports.MIN_CHROMEDRIVER_MAC_ARM_NEW_ARCHIVE_NAME = exports.MIN_CHROMEDRIVER_FOR_TESTING_VERSION = exports.MIN_CHROME_FOR_TESTING_VERSION = exports.SAFARIDRIVER_PATH = exports.MSEDGEDRIVER_API = exports.GECKODRIVER_CARGO_TOML = exports.CHROMEDRIVER_STORAGE_API = void 0;
|
|
3
|
+
exports.MANDATORY_UBUNTU_PACKAGES_TO_BE_INSTALLED = exports.LINUX_RUNTIME_LIBRARIES_PATH_ENV_NAME = exports.LINUX_UBUNTU_RELEASE_ID = exports.DRIVER_WAIT_TIMEOUT = exports.MIN_EDGEDRIVER_VERSION = exports.MIN_FIREFOX_VERSION = exports.MIN_CHROMIUM_VERSION = exports.MIN_CHROMIUM_MAC_ARM_VERSION = exports.MIN_CHROMEDRIVER_MAC_ARM_NEW_ARCHIVE_NAME = exports.MIN_CHROMEDRIVER_FOR_TESTING_VERSION = exports.MIN_CHROME_FOR_TESTING_VERSION = exports.SAFARIDRIVER_PATH = exports.MSEDGEDRIVER_API = exports.FIREFOX_VERSIONS_LATEST_VERSIONS_API_URL = exports.FIREFOX_VERSIONS_ALL_VERSIONS_API_URL = exports.GECKODRIVER_CARGO_TOML = exports.CHROME_FOR_TESTING_LATEST_STABLE_API_URL = exports.CHROME_FOR_TESTING_MILESTONES_API_URL = exports.CHROMEDRIVER_STORAGE_API = void 0;
|
|
4
4
|
exports.CHROMEDRIVER_STORAGE_API = "https://chromedriver.storage.googleapis.com";
|
|
5
|
+
const CHROME_FOR_TESTING_VERSIONS_API_URL = "https://googlechromelabs.github.io/chrome-for-testing";
|
|
6
|
+
exports.CHROME_FOR_TESTING_MILESTONES_API_URL = `${CHROME_FOR_TESTING_VERSIONS_API_URL}/latest-versions-per-milestone.json`;
|
|
7
|
+
exports.CHROME_FOR_TESTING_LATEST_STABLE_API_URL = `${CHROME_FOR_TESTING_VERSIONS_API_URL}/LATEST_RELEASE_STABLE`;
|
|
5
8
|
exports.GECKODRIVER_CARGO_TOML = "https://raw.githubusercontent.com/mozilla/geckodriver/release/Cargo.toml";
|
|
9
|
+
const FIREFOX_VERSIONS_VERSIONS_API_URL = "https://product-details.mozilla.org/1.0";
|
|
10
|
+
exports.FIREFOX_VERSIONS_ALL_VERSIONS_API_URL = `${FIREFOX_VERSIONS_VERSIONS_API_URL}/firefox.json`;
|
|
11
|
+
exports.FIREFOX_VERSIONS_LATEST_VERSIONS_API_URL = `${FIREFOX_VERSIONS_VERSIONS_API_URL}/firefox_versions.json`;
|
|
6
12
|
exports.MSEDGEDRIVER_API = "https://msedgedriver.azureedge.net";
|
|
7
13
|
exports.SAFARIDRIVER_PATH = "/usr/bin/safaridriver";
|
|
8
14
|
exports.MIN_CHROME_FOR_TESTING_VERSION = 113;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/browser-installer/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/browser-installer/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,6CAA6C,CAAC;AAEtF,MAAM,mCAAmC,GAAG,uDAAuD,CAAC;AACvF,QAAA,qCAAqC,GAAG,GAAG,mCAAmC,qCAAqC,CAAC;AACpH,QAAA,wCAAwC,GAAG,GAAG,mCAAmC,wBAAwB,CAAC;AAE1G,QAAA,sBAAsB,GAAG,0EAA0E,CAAC;AAEjH,MAAM,iCAAiC,GAAG,yCAAyC,CAAC;AACvE,QAAA,qCAAqC,GAAG,GAAG,iCAAiC,eAAe,CAAC;AAC5F,QAAA,wCAAwC,GAAG,GAAG,iCAAiC,wBAAwB,CAAC;AAExG,QAAA,gBAAgB,GAAG,oCAAoC,CAAC;AAExD,QAAA,iBAAiB,GAAG,uBAAuB,CAAC;AAC5C,QAAA,8BAA8B,GAAG,GAAG,CAAC;AACrC,QAAA,oCAAoC,GAAG,GAAG,CAAC;AAC3C,QAAA,yCAAyC,GAAG,GAAG,CAAC;AAChD,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAClC,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAC1B,QAAA,mBAAmB,GAAG,EAAE,CAAC;AACzB,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;AACvC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,qCAAqC,GAAG,iBAAiB,CAAC;AAC1D,QAAA,yCAAyC,GAAG,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const resolveEdgeVersion: () => Promise<string>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveEdgeVersion = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const child_process_1 = require("child_process");
|
|
9
|
+
const browsers_1 = require("@puppeteer/browsers");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
const extractBrowserVersion = (cmd) => new Promise((resolve, reject) => {
|
|
12
|
+
(0, child_process_1.exec)(cmd, (err, stdout) => {
|
|
13
|
+
if (err) {
|
|
14
|
+
const errorMessage = "Couldn't retrive edge version. Looks like its not installed";
|
|
15
|
+
reject(new Error(errorMessage));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const edgeVersionRegExp = /\d+\.\d+\.\d+\.\d+/;
|
|
19
|
+
const version = edgeVersionRegExp.exec(stdout);
|
|
20
|
+
if (version && version[0]) {
|
|
21
|
+
resolve(version[0]);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
const errorMessage = `Couldn't retrive edge version. Expected browser version, but got "${stdout}"`;
|
|
25
|
+
reject(new Error(errorMessage));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
const resolveLinuxEdgeVersion = () => {
|
|
30
|
+
const getMsEdgeStableVersion = "which microsoft-edge-stable > /dev/null && microsoft-edge-stable --version";
|
|
31
|
+
const getMsEdgeVersion = "which microsoft-edge > /dev/null && microsoft-edge --version";
|
|
32
|
+
return extractBrowserVersion(`${getMsEdgeStableVersion} || ${getMsEdgeVersion}`);
|
|
33
|
+
};
|
|
34
|
+
const resolveWindowsEdgeVersion = () => {
|
|
35
|
+
const getMsEdgeVersion = 'reg query "HKEY_CURRENT_USER\\Software\\Microsoft\\Edge\\BLBeacon" /v version';
|
|
36
|
+
return extractBrowserVersion(getMsEdgeVersion);
|
|
37
|
+
};
|
|
38
|
+
const resolveMacEdgeVersion = () => {
|
|
39
|
+
const getMsEdgeVersion = "/Applications/Microsoft\\ Edge.app/Contents/MacOS/Microsoft\\ Edge --version";
|
|
40
|
+
return extractBrowserVersion(getMsEdgeVersion);
|
|
41
|
+
};
|
|
42
|
+
exports.resolveEdgeVersion = lodash_1.default.once(async () => {
|
|
43
|
+
const platform = (0, utils_1.getBrowserPlatform)();
|
|
44
|
+
switch (platform) {
|
|
45
|
+
case browsers_1.BrowserPlatform.LINUX:
|
|
46
|
+
return resolveLinuxEdgeVersion();
|
|
47
|
+
case browsers_1.BrowserPlatform.WIN32:
|
|
48
|
+
case browsers_1.BrowserPlatform.WIN64:
|
|
49
|
+
return resolveWindowsEdgeVersion();
|
|
50
|
+
case browsers_1.BrowserPlatform.MAC:
|
|
51
|
+
case browsers_1.BrowserPlatform.MAC_ARM:
|
|
52
|
+
return resolveMacEdgeVersion();
|
|
53
|
+
default:
|
|
54
|
+
throw new Error(`Unsupported platform: "${platform}"`);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/edge/browser.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,iDAAqC;AACrC,kDAAsD;AACtD,oCAA8C;AAE9C,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAmB,EAAE,CAC3D,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IACpC,IAAA,oBAAI,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACtB,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,YAAY,GAAG,6DAA6D,CAAC;YAEnF,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAEhC,OAAO;QACX,CAAC;QAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;QAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,qEAAqE,MAAM,GAAG,CAAC;YAEpG,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACpC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEP,MAAM,uBAAuB,GAAG,GAAoB,EAAE;IAClD,MAAM,sBAAsB,GAAG,4EAA4E,CAAC;IAC5G,MAAM,gBAAgB,GAAG,8DAA8D,CAAC;IAExF,OAAO,qBAAqB,CAAC,GAAG,sBAAsB,OAAO,gBAAgB,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAoB,EAAE;IACpD,MAAM,gBAAgB,GAAG,+EAA+E,CAAC;IAEzG,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAoB,EAAE;IAChD,MAAM,gBAAgB,GAAG,8EAA8E,CAAC;IAExG,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEW,QAAA,kBAAkB,GAAG,gBAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;IAChD,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAEtC,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,0BAAe,CAAC,KAAK;YACtB,OAAO,uBAAuB,EAAE,CAAC;QAErC,KAAK,0BAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,0BAAe,CAAC,KAAK;YACtB,OAAO,yBAAyB,EAAE,CAAC;QAEvC,KAAK,0BAAe,CAAC,GAAG,CAAC;QACzB,KAAK,0BAAe,CAAC,OAAO;YACxB,OAAO,qBAAqB,EAAE,CAAC;QAEnC;YACI,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,GAAG,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -22,10 +22,10 @@ const getLatestMajorEdgeDriverVersion = async (milestone) => {
|
|
|
22
22
|
};
|
|
23
23
|
const installEdgeDriver = async (edgeVersion, { force = false } = {}) => {
|
|
24
24
|
const platform = (0, utils_1.getBrowserPlatform)();
|
|
25
|
-
const existingLocallyDriverVersion = registry_1.default.getMatchedDriverVersion(utils_1.
|
|
25
|
+
const existingLocallyDriverVersion = registry_1.default.getMatchedDriverVersion(utils_1.DriverName.EDGEDRIVER, platform, edgeVersion);
|
|
26
26
|
if (existingLocallyDriverVersion && !force) {
|
|
27
27
|
(0, utils_1.browserInstallerDebug)(`A locally installed edgedriver for edge@${edgeVersion} browser was found. Skipping the installation`);
|
|
28
|
-
return registry_1.default.getBinaryPath(utils_1.
|
|
28
|
+
return registry_1.default.getBinaryPath(utils_1.DriverName.EDGEDRIVER, platform, existingLocallyDriverVersion);
|
|
29
29
|
}
|
|
30
30
|
const milestone = (0, utils_1.getMilestone)(edgeVersion);
|
|
31
31
|
if (Number(milestone) < constants_1.MIN_EDGEDRIVER_VERSION) {
|
|
@@ -33,7 +33,7 @@ const installEdgeDriver = async (edgeVersion, { force = false } = {}) => {
|
|
|
33
33
|
}
|
|
34
34
|
const driverVersion = await getLatestMajorEdgeDriverVersion(milestone);
|
|
35
35
|
const installFn = () => (0, edgedriver_1.download)(driverVersion, (0, utils_1.getEdgeDriverDir)(driverVersion));
|
|
36
|
-
return registry_1.default.installBinary(utils_1.
|
|
36
|
+
return registry_1.default.installBinary(utils_1.DriverName.EDGEDRIVER, platform, driverVersion, installFn);
|
|
37
37
|
};
|
|
38
38
|
exports.installEdgeDriver = installEdgeDriver;
|
|
39
39
|
//# sourceMappingURL=driver.js.map
|