microsoft / microsoft/playwright-java

[Feature]: Support for Playwright Test Agents (Planner, Generator, Healer) in Java

Abierto
#1,885 3 comentarios 4 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

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

Descripción

🚀 Feature Request

Description
Playwright v1.56+ introduced the Agentic Workflow (planner, generator, and healer) which has significantly improved the efficiency of test authoring and maintenance for Node.js users. However, these tools are currently not accessible to teams using the Java bindings.

As a Java user, I would like to leverage the AI-powered Healer Agent to automatically repair failing tests by inspecting the UI and updating locators, just as it is currently possible with npx playwright init-agents --loop=vscode.

Motivation
Many enterprise environments rely on Java for their test automation infrastructure. Currently, Java users have to:

Manually debug and fix locators.

Use third-party proxies (like Healenium) which require additional infrastructure.

Maintain separate Node.js environments just to utilize the AI agents.

Bringing parity to the Java library would allow us to integrate self-healing directly into our JUnit/TestNG workflows.

Proposed Implementation
CLI Support: Add agent initialization to the Playwright Java CLI (e.g., mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="init-agents").

Healer Integration: Allow the Healer to analyze Java test failures and suggest/apply patches to .java source files or Page Object Models.

Documentation: Provide a guide on how to configure the agentic loop within a Maven/Gradle project.

Example Use Case
When a locator in a Page Object fails:

Java
// Page Object
private final Locator submitButton;
public LoginPage(Page page) {
this.submitButton = page.locator("#old-id"); // This ID changed to #new-id
}
The Healer Agent should detect the TimeoutError, scan the DOM, identify the new ID, and suggest the fix directly in the console or IDE.

Example

No response

Motivation

Playwright has it for Javascript/Typscript (which I played with on my own and thought it was cool). But the test automation project that I am working was written with Java using the Selenium library. I added Playwright to the project due to 1) able to inject API responses and 2) able to execute using for Safari/Webkit (due to security the automation scripts have to set the user-agent value that Safari does not allow us to do). This would be able another cool feature.

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

Comience revisando el punto de entrada de la CLI de Playwright para Java, com.microsoft.playwright.CLI, y cómo los proyectos Java Maven/Gradle la invocan. Aclare el alcance previsto para la inicialización del agente, el manejo de fallos en las pruebas de Java, la aplicación de parches a los archivos fuente y la documentación; el trabajo debería darse por terminado cuando incluya un límite de implementación acordado y la validación del workflow compatible.

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

Evaluación

Stack tecnológico
java
Área
cli, testing-qa
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Tranquilo
Claridad
Necesita aclaración
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.