UNPKG

appium-chromium-driver

Version:

Appium driver for Chromium-based browsers that work with Chromedriver

63 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listBrowserBinaryCandidates = listBrowserBinaryCandidates; exports.detectBrowserVersion = detectBrowserVersion; const utils_1 = require("../utils"); const DEFAULT_WIN_CANDIDATES = () => (0, utils_1.getWindowsExecutableCandidates)([ 'Google\\Chrome\\Application', 'Google\\Chrome Beta\\Application', 'Google\\Chrome Dev\\Application', 'Google\\Google Chrome for Testing\\Application', 'Chromium\\Application', ], 'chrome.exe'); const DEFAULT_MAC_CANDIDATES = [ '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', '/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta', '/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev', '/Applications/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing', '/Applications/Chromium.app/Contents/MacOS/Chromium', ]; const DEFAULT_LINUX_CANDIDATES = [ 'chrome', 'google-chrome', 'google-chrome-beta', 'google-chrome-unstable', 'chromium', 'chromium-browser', ]; /** * List platform-specific Chrome/Chromium browser binary candidates. * @returns A list of executable paths or command names. */ function listBrowserBinaryCandidates() { if (process.platform === 'win32') { return DEFAULT_WIN_CANDIDATES(); } else if (process.platform === 'darwin') { return DEFAULT_MAC_CANDIDATES; } return DEFAULT_LINUX_CANDIDATES; } /** * Detect installed Chrome/Chromium browser version from explicit binary or default candidates. * @param browserBinary Optional explicit browser binary path or command. * @returns Detected browser version. */ async function detectBrowserVersion(browserBinary) { if (browserBinary) { const version = await (0, utils_1.readBrowserVersion)(browserBinary); if (version) { return version; } throw new Error(`Could not determine browser version from binary: ${browserBinary}`); } const candidates = listBrowserBinaryCandidates(); for (const binary of candidates) { const version = await (0, utils_1.readBrowserVersion)(binary); if (version) { return version; } } throw new Error(`Could not determine browser version from candidates: ${candidates.join(', ')}`); } //# sourceMappingURL=browser-candidates.js.map