Skip to content

Fix ChromeHeadlessShell launch crash#3146

Merged
kblok merged 5 commits intomasterfrom
fix-chrome-headless-shell-launch-2967
Feb 17, 2026
Merged

Fix ChromeHeadlessShell launch crash#3146
kblok merged 5 commits intomasterfrom
fix-chrome-headless-shell-launch-2967

Conversation

@kblok
Copy link
Member

@kblok kblok commented Feb 17, 2026

Summary

  • Added SupportedBrowser.ChromeHeadlessShell to the browser switch in Launcher.cs, which was causing an "Invalid browser" exception when launching chrome-headless-shell
  • Fixed flaky ShouldThrowWhenEvaluationTriggersReload test

Fixes #2967

Test plan

  • All headless-shell CI jobs should now pass instead of failing with "No such file or directory"
  • Chrome headless and headful jobs unaffected

🤖 Generated with Claude Code

kblok and others added 5 commits February 16, 2026 18:39
Add SupportedBrowser.ChromeHeadlessShell to the Process switch in
Launcher so it uses ChromeLauncher, matching the buildId switch above.

Fixes #2967

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add missing async/await and align error message assertion with upstream
Puppeteer (expect "Execution context was destroyed" or "no such frame"
instead of "Protocol error").

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
NUnit 4's Assert.ThrowsAsync<T> returns T, not Task<T>, so it
cannot be awaited.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The existence check in DownloadAsync used the instance's Browser property
(Chrome) instead of the passed browser parameter (ChromeHeadlessShell),
so it incorrectly thought ChromeHeadlessShell was already downloaded
when Chrome existed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Running Launcher.LaunchAsync() with LaunchOptions Browser = SupportedBrowser.ChromeHeadlessShell crashes

1 participant