Skip to content

Commit 31d9fa4

Browse files
fix(benchpress): adjust supported browser names for headless chrome (#56360)
The chrome version controlled by selenium reports chrome-headless-shell in the current setup. This fix accounts for the updated browser name. PR Close #56360
1 parent 5109a43 commit 31d9fa4

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

packages/benchpress/src/webdriver/chrome_driver_extension.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,11 @@ export class ChromeDriverExtension extends WebDriverExtension {
216216
}
217217

218218
override supports(capabilities: {[key: string]: any}): boolean {
219-
return this._majorChromeVersion >= 44 && capabilities['browserName'].toLowerCase() === 'chrome';
219+
const browserName = capabilities['browserName'].toLowerCase();
220+
return (
221+
this._majorChromeVersion >= 44 &&
222+
(browserName === 'chrome' || browserName === 'chrome-headless-shell')
223+
);
220224
}
221225
}
222226

packages/benchpress/test/webdriver/chrome_driver_extension_spec.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ describe('chrome driver extension', () => {
1919
const CHROME45_USER_AGENT =
2020
'"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2499.0 Safari/537.36"';
2121

22+
const HEADLESSCHROME124_USER_AGENT =
23+
'"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/124.0.6314.0 Safari/537.36"';
24+
2225
let log: any[];
2326
let extension: ChromeDriverExtension;
2427

@@ -437,8 +440,16 @@ describe('chrome driver extension', () => {
437440

438441
it('should match chrome browsers', () => {
439442
expect(createExtension().supports({'browserName': 'chrome'})).toBe(true);
440-
441443
expect(createExtension().supports({'browserName': 'Chrome'})).toBe(true);
444+
expect(createExtension().supports({'browserName': 'chrome-headless-shell'})).toBe(true);
445+
});
446+
447+
it('should parse chrome version from user agent', () => {
448+
expect(
449+
createExtension(null, HEADLESSCHROME124_USER_AGENT).supports({
450+
'browserName': 'chrome-headless-shell',
451+
}),
452+
).toBe(true);
442453
});
443454
});
444455
});

0 commit comments

Comments
 (0)