Skip to content

Commit 3c71cba

Browse files
committed
Add option to run prereleases of Chrome
1 parent 52ee992 commit 3c71cba

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ npm run benchmark example -- --browser=firefox
5252
Supported options:
5353

5454
- `chrome` = Use Chrome
55+
- `chrome` = Use Chrome Stable
56+
- `chrome-beta` = Use Chrome Beta
57+
- `chrome-dev` = Use Chrome Dev
58+
- `chrome-canary` = Use Chrome Canary
5559
- `firefox`= Use Firefox
5660

5761
The default used browser is `chrome`.

cli/index.js

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,42 @@ const pageUrl = `http://localhost:3000/benchmarks/${process.argv[2]}`.trim();
1818

1919
// Determine which browser to use
2020
const supportedBrowsers = ['chrome', 'firefox'];
21+
const supportedBrowserChannels = {
22+
'chrome': ['chrome', 'chrome-beta', 'chrome-canary', 'chrome-dev'],
23+
'firefox': null,
24+
};
25+
2126
let requestedBrowser = flags.filter(f => f.startsWith('--browser=')).reduce((p, c) => `${p}${c}`, '');
27+
let requestedBrowserChannel;
28+
2229
if (requestedBrowser) {
23-
requestedBrowser = requestedBrowser.replace('--browser=', '');
30+
requestedBrowserChannel = requestedBrowser.replace('--browser=', '');
31+
requestedBrowser = requestedBrowser.replace('--browser=', '').split('-')[0];
2432

33+
// Check if browser is suppported
2534
if (!supportedBrowsers.includes(requestedBrowser)) {
26-
console.error(`❌ Invalid browser. Only accepted values are ${supportedBrowsers.join(', ')}`);
35+
console.error(`❌ Invalid browser${requestedBrowser}. Only accepted values are ${supportedBrowsers.join(', ')}`);
2736
process.exit(1);
2837
}
38+
39+
// Check if channel is supported
40+
if (supportedBrowserChannels[requestedBrowser]) {
41+
if (!supportedBrowserChannels[requestedBrowser].includes(requestedBrowserChannel)) {
42+
console.error(`❌ Invalid browserChannel “${requestedBrowserChannel}” for browser “${requestedBrowser}”. Only accepted values are ${supportedBrowserChannels[requestedBrowser].join(', ')}`);
43+
process.exit(1);
44+
}
45+
} else {
46+
requestedBrowserChannel = null;
47+
}
48+
2949
} else {
3050
requestedBrowser = supportedBrowsers[0];
51+
requestedBrowserChannel = supportedBrowserChannels[requestedBrowser] ? supportedBrowserChannels[requestedBrowser][0] : null;
3152
}
3253

3354
const puppeteerOptions = {
3455
'chrome': {
56+
channel: requestedBrowserChannel,
3557
headless: 'new',
3658
args: [
3759
"--flag-switches-begin",

0 commit comments

Comments
 (0)