UNPKG

appium-chromium-driver

Version:

Appium driver for Chromium-based browsers that work with Chromedriver

57 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBrowserCandidates = getBrowserCandidates; exports.discoverBrowserVersion = discoverBrowserVersion; const utils_1 = require("../utils"); const DEFAULT_WIN_CANDIDATES = () => (0, utils_1.getWindowsExecutableCandidates)([ 'Microsoft\\Edge\\Application', 'Microsoft\\Edge Beta\\Application', 'Microsoft\\Edge Dev\\Application', ], 'msedge.exe'); const DEFAULT_MAC_CANDIDATES = [ '/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge', '/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta', '/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev', ]; const DEFAULT_LINUX_CANDIDATES = [ 'microsoft-edge', 'microsoft-edge-beta', 'microsoft-edge-dev', 'msedge', ]; /** * Get platform-specific Microsoft Edge browser binary candidates. * @returns A list of executable paths or command names. */ function getBrowserCandidates() { if (process.platform === 'win32') { return DEFAULT_WIN_CANDIDATES(); } else if (process.platform === 'darwin') { return DEFAULT_MAC_CANDIDATES; } return DEFAULT_LINUX_CANDIDATES; } /** * Discover installed Microsoft Edge browser version from explicit binary or default candidates. * @param browserBinary Optional explicit browser binary path or command. * @returns Detected browser version. */ async function discoverBrowserVersion(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 = getBrowserCandidates(); 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