@@ -61,7 +61,6 @@ function getDefaultChromiumArgs() {
6161 * @param {Object } options - Launch options
6262 * @param {string } options.screenshotUrl - URL of the screenshot HTTP server
6363 * @param {boolean } [options.failOnDiff] - Whether tests should fail on visual diffs
64- * @param {string } [options.browserWSEndpoint] - WebSocket endpoint to connect to remote browser
6564 * @param {Object } [options.playwrightOptions] - Playwright launch options (headless, slowMo, timeout, etc.)
6665 * @param {Function } [options.onPageCreated] - Callback when page is created (before navigation)
6766 * @param {Function } [options.onBrowserDisconnected] - Callback when browser disconnects unexpectedly
@@ -71,7 +70,6 @@ export async function launchBrowser(browserType, testUrl, options = {}) {
7170 let {
7271 screenshotUrl,
7372 failOnDiff,
74- browserWSEndpoint,
7573 playwrightOptions = { } ,
7674 onPageCreated,
7775 onBrowserDisconnected,
@@ -85,38 +83,27 @@ export async function launchBrowser(browserType, testUrl, options = {}) {
8583 ) ;
8684 }
8785
88- let browser ;
89-
90- // Connect to remote browser if endpoint provided
91- if ( browserWSEndpoint ) {
92- // Use connectOverCDP for remote browsers (e.g., browserless, Docker)
93- // This connects via Chrome DevTools Protocol, which is what most
94- // remote browser services expose (vs Playwright's own server protocol)
95- let cdpEndpoint = browserWSEndpoint . replace ( / ^ w s : / , 'http:' ) . replace ( / ^ w s s : / , 'https:' ) ;
96- browser = await factory . connectOverCDP ( cdpEndpoint ) ;
97- } else {
98- // Build args: our defaults + user's args (user can override)
99- let args = [ ] ;
100- if ( browserType === 'chromium' ) {
101- args = [ ...getDefaultChromiumArgs ( ) ] ;
102- }
103-
104- // Merge user's args if provided
105- if ( playwrightOptions . args ) {
106- args . push ( ...playwrightOptions . args ) ;
107- }
108-
109- // Build Playwright launch options
110- // User's playwrightOptions take precedence, but we ensure args are merged
111- let launchOptions = {
112- headless : true , // Default to headless
113- ...playwrightOptions ,
114- args,
115- } ;
116-
117- browser = await factory . launch ( launchOptions ) ;
86+ // Build args: our defaults + user's args (user can override)
87+ let args = [ ] ;
88+ if ( browserType === 'chromium' ) {
89+ args = [ ...getDefaultChromiumArgs ( ) ] ;
11890 }
11991
92+ // Merge user's args if provided
93+ if ( playwrightOptions . args ) {
94+ args . push ( ...playwrightOptions . args ) ;
95+ }
96+
97+ // Build Playwright launch options
98+ // User's playwrightOptions take precedence, but we ensure args are merged
99+ let launchOptions = {
100+ headless : true , // Default to headless
101+ ...playwrightOptions ,
102+ args,
103+ } ;
104+
105+ let browser = await factory . launch ( launchOptions ) ;
106+
120107 // Listen for unexpected browser disconnection (crash, killed, etc.)
121108 if ( onBrowserDisconnected ) {
122109 browser . on ( 'disconnected' , onBrowserDisconnected ) ;
0 commit comments