[Feature]: OptionsFactory that has access to test instance fields

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

Nadie ha tomado este issue todavía.

Evaluación

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

Línea de trabajo

Comienza rastreando la integración de @UsePlaywright OptionsFactory y cómo se inicializa con respecto a la instancia de prueba. Revisa el ejemplo con un EmbeddedServer inyectado y determina el ciclo de vida necesario para acceder a los campos de la instancia. Se considera terminado cuando Options puede usar valores de la prueba en ejecución y el comportamiento existente de @UsePlaywright sigue siendo compatible.

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

Descripción

🚀 Feature Request

I'd like the ability to populate Options for use with @UsePlaywright with values that are determined by the running test, not just statically.

The OptionsFactory approach to customizing @UsePlaywright has a big gap - it can't access instance fields of the test. A non-static inner class doesn't work as it requires the outer class as a constructor argument.

Example
@UsePlaywright
@MicronautTest
class MyTest {

  @Inject
  EmbeddedServer server;

  Options getOptions() {
    return new Options().setBaseUrl(server.getUrl())
  }

  @Test
  void myTest(Page page) {
  }
}
Motivation

I'm trying to use Playwright with a fake server (Spring MockMVC, Micronaut EmbeddedServer, etc). These approaches all inject a server into an instance field of the test class, and one retrieves the base URL from that server. However, OptionsFactory is initialized outside of the test instance scope, and so can't make use of that injected server.

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

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.

Más de microsoft/playwright-java

Todos los issues de microsoft/playwright-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.