diff --git a/cli/src/install.rs b/cli/src/install.rs index 5410a1d..1d5a1e3 100644 --- a/cli/src/install.rs +++ b/cli/src/install.rs @@ -1029,7 +1029,9 @@ mod tests { // The new code should include the root cause (connection refused) // not just the vague "error sending request for url" assert!( - err.contains("Connection refused") || err.contains("connection refused"), + err.contains("Connection refused") + || err.contains("connection refused") + || err.contains("actively refused it"), "expected 'connection refused' in error, got: {}", err ); diff --git a/cli/src/native/e2e_tests.rs b/cli/src/native/e2e_tests.rs index dcccc3b..9ea48df 100644 --- a/cli/src/native/e2e_tests.rs +++ b/cli/src/native/e2e_tests.rs @@ -3063,12 +3063,17 @@ async fn start_delayed_login_server( setTimeout(() => {{ const root = document.getElementById('root'); root.innerHTML = ` -
+
`; + document.getElementById('login-form').addEventListener('submit', function(e) {{ + e.preventDefault(); + e.stopPropagation(); + window.__submitted = true; + }}); }}, {render_delay_ms}); @@ -3865,13 +3870,15 @@ async fn e2e_relaunch_on_options_change() { "identical options must reuse the browser" ); - // Third launch — different options (extensions added) → must relaunch, not reuse. + // Third launch — different options (userAgent changed) → must relaunch, not reuse. + // We use userAgent instead of extensions because extensions force headed mode, + // which requires a display server and fails in headless CI environments. let resp = execute_command( &json!({ "id": "3", "action": "launch", "headless": true, - "extensions": ["/tmp/fake-extension"] + "userAgent": "agent-browser-test/1.0" }), &mut state, )