Skip to content

Commit b56c83e

Browse files
Matt Gauntmarco-c
authored andcommitted
Adding browser download retries (#294)
* Adding browser download retries * Removing change to forceDownload * Adding attempt default * Fixing lint errors * Fixing for node 4
1 parent 61dddeb commit b56c83e

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

test/helpers/download-test-browsers.js

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,39 @@
22

33
const seleniumAssistant = require('selenium-assistant');
44

5+
const MAX_RETRIES = 3;
56
let forceDownload = false;
67
if (process.env.TRAVIS) {
78
forceDownload = true;
89
}
910

11+
const downloadBrowser = (name, version, attempt) => {
12+
attempt = attempt || 0;
13+
14+
return new Promise((resolve, reject) => {
15+
seleniumAssistant.downloadBrowser(name, version, forceDownload)
16+
.catch((err) => {
17+
if (attempt < MAX_RETRIES) {
18+
console.log(`Attempt ${attempt + 1} of browser ${name} - ${version} failed.`);
19+
return downloadBrowser(name, version, attempt + 1);
20+
}
21+
22+
return reject(err);
23+
})
24+
.then(() => {
25+
console.log(`Successfully downloaded ${name} - ${version}.`);
26+
resolve();
27+
});
28+
});
29+
};
30+
1031
const promises = [
11-
seleniumAssistant.downloadBrowser('firefox', 'stable', forceDownload),
12-
seleniumAssistant.downloadBrowser('firefox', 'beta', forceDownload),
13-
seleniumAssistant.downloadBrowser('firefox', 'unstable', forceDownload),
14-
seleniumAssistant.downloadBrowser('chrome', 'stable', forceDownload),
15-
seleniumAssistant.downloadBrowser('chrome', 'beta', forceDownload),
16-
seleniumAssistant.downloadBrowser('chrome', 'unstable', forceDownload)
32+
downloadBrowser('firefox', 'stable'),
33+
downloadBrowser('firefox', 'beta'),
34+
downloadBrowser('firefox', 'unstable'),
35+
downloadBrowser('chrome', 'stable'),
36+
downloadBrowser('chrome', 'beta'),
37+
downloadBrowser('chrome', 'unstable')
1738
];
1839

1940
Promise.all(promises)

0 commit comments

Comments
 (0)