Skip to content

Commit 5c4a49a

Browse files
authored
the latest for old versions of chromedriver (#819)
* the latest for old versions of chromedriver * set baseURL for fallback * linter fix * condition for old version
1 parent f659a2e commit 5c4a49a

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

lib/compute-download-urls.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,19 @@ async function computeDownloadUrls(options) {
119119
} else if (opts.drivers.chrome.fullURL) {
120120
downloadUrls.chrome = opts.drivers.chrome.fullURL;
121121
} else {
122+
const oldVersion = validateMajorVersionPrefix(opts.drivers.chrome.version);
123+
122124
opts.drivers.chrome.baseURL = opts.drivers.chrome.baseURL
123125
? opts.drivers.chrome.baseURL
124126
: 'https://chromedriver.storage.googleapis.com';
125-
await resolveLatestVersion(opts, 'chrome', opts.drivers.chrome.baseURL + '/LATEST_RELEASE');
127+
128+
await resolveLatestVersion(
129+
opts,
130+
'chrome',
131+
oldVersion
132+
? opts.drivers.chrome.baseURL + `/LATEST_RELEASE_${oldVersion}`
133+
: opts.drivers.chrome.baseURL + '/LATEST_RELEASE'
134+
);
126135

127136
downloadUrls.chrome =
128137
opts.drivers.chrome.fullURL ||
@@ -311,7 +320,7 @@ async function resolveLatestVersion(opts, browserDriver, url) {
311320
}
312321
// eslint-disable-next-line no-param-reassign
313322
opts.drivers[browserDriver].version = opts.drivers[browserDriver].fallbackVersion;
314-
} else if (browserDriver === 'chrome' && /^(\d{3})\.\d+\.\d+/.test(opts.drivers.chrome.version)) {
323+
} else if (browserDriver === 'chrome' && !/^(\d{2,3})\.\d+\.\d+.\d+/.test(opts.drivers.chrome.version)) {
315324
if (await getLatestChromium(opts, browserDriver, url)) {
316325
return true;
317326
}

lib/compute-fs-paths.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,15 @@ async function computeFsPaths(options) {
2222
opts.drivers.chrome.version !== 'latest' &&
2323
Number(validateMajorVersionPrefix(opts.drivers.chrome.version)) <= 114
2424
) {
25-
await getLatestChromium(opts, 'chrome', 'https://chromedriver.storage.googleapis.com/LATEST_RELEASE');
25+
await getLatestChromium(
26+
opts,
27+
'chrome',
28+
validateMajorVersionPrefix(opts.drivers.chrome.version)
29+
? `https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${validateMajorVersionPrefix(
30+
opts.drivers.chrome.version
31+
)}`
32+
: 'https://chromedriver.storage.googleapis.com/LATEST_RELEASE'
33+
);
2634
}
2735
fsPaths.chrome = {
2836
installPath: path.join(

0 commit comments

Comments
 (0)