microsoft / microsoft/playwright-java

[Bug]: Edge channel browser process crashes/closes page context during cross-origin SAML/OIDC redirect in v1.62.0

Abierto
#1,963 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Java
Estrellas
1.6k
Forks
298
Merge medio
3 d 2 h
PR fusionados (30 d)
14

Descripción

Version

1.62.0

Steps to reproduce
  1. Configure Playwright 1.62.0 in Java using the Microsoft Edge channel:
BrowserType.LaunchOptions launchOptions = new BrowserType.LaunchOptions()
        .setHeadless(false)
        .setChannel("msedge");
  1. Navigate to an enterprise application URL protected by an OIDC / SAML 2.0 gateway (IBM Security Access Manager integrated with Microsoft Entra ID / Azure AD).

  2. Fill in user credentials and submit the form.

  3. On the Entra ID "Keep Me Signed In" (KMSI) screen (login.microsoftonline.com/kmsi), click the final submit button (#idSIButton9).

  4. Observe the browser context behavior as Entra ID executes the top-level POST redirect back to the application's OIDC authorization endpoint (/oidc/endpoint/default/authorize).

Expected behavior

The Edge browser tab should process the top-level OIDC authorization redirect cleanly, remain open, and navigate to the target application URL.

Actual behavior

During the SAML/OIDC POST redirect handoff immediately following the KMSI submission, the active browser page target closes unexpectedly (PageImpl.didClose event fires). Any subsequent Playwright navigation waiter or frame listener fails immediately with:
com.microsoft.playwright.PlaywrightException: Target page, context or browser has been closed

Note: This failure is isolated strictly to the Edge channel binary on 1.62.0. Running the exact same test flow on 1.62.0 using bundled Chromium, Google Chrome (chrome), or Firefox (firefox) works as expected without closing the page target.

Additional context
  • Regression Window: Works cleanly in Playwright 1.59.0 (all channels). Fails in 1.62.0 when using setChannel("msedge").

  • Telemetry Observation: Console logs show Microsoft BSSO telemetry attempting native broker calls prior to the crash: BSSO Telemetry: {"result":"Error","error":"bssoNotSupported"... "window.navigator.msLaunchUri is not available"}.

Trace Snippet:

[WARN] Redirect to: https://login.microsoftonline.com/kmsi
[WARN] Redirect to: https://miloginwidev.michigan.gov/oidc/endpoint/default/authorize...
[WARN] Page closed from thread: main
    at com.microsoft.playwright.impl.PageImpl.didClose(PageImpl.java:255)
    at com.microsoft.playwright.impl.PageImpl.handleEvent(PageImpl.java:242)
    at com.microsoft.playwright.impl.Connection.dispatch(Connection.java:314)
    at com.microsoft.playwright.impl.FrameImpl.waitForURLImpl(FrameImpl.java:1044)
    at com.microsoft.playwright.impl.PageImpl.waitForURL(PageImpl.java:1647)
com.microsoft.playwright.PlaywrightException: Target page, context or browser has been closed
  • Due to state government security policies and internal network constraints, live test credentials and internal domain URLs cannot be publicly provided.
Environment
  • Playwright Version: 1.62.0
  • Operating System: Windows 11
  • Browser: Microsoft Edge (Channel: msedge) > playwright chromium v1234
  • Language/JDK: Java 17

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la configuración de lanzamiento de Java usando setChannel("msedge") y reproduce el flujo de redirección OIDC/SAML a través de la pantalla KMSI de Entra ID. Compara Edge 1.62.0 con Chromium incluido, Chrome, Firefox y Playwright 1.59.0, usando el trace PageImpl.didClose como señal del fallo. Se considera terminado cuando la página de Edge permanece abierta y llega a la aplicación de destino después de la redirección.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
testing-qa
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.