microsoft / microsoft/playwright-java
[Feature]: Order-Insensitive Collection Assertions
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
🚀 Feature Request
The hasText(String[] expected) assertion is strictly order-dependent. However, many UI components (like tags, filter chips, or list items) might appear in a non-deterministic order or the order might be irrelevant to the test case.
Example
Add a param to HasTextOptions or a new method to ignore order: hasText(String[] expected, boolean ignoreOrder) or hasTextInAnyOrder(String[] expected).
Motivation
Resilience to Change: Tests won't fail due to minor UI sorting changes that do not affect business logic.
Cleaner Test Code: Developers won't need to manually fetch, sort, and compare lists, which often bypasses Playwright's automatic retries.
Implementation: This can be implemented by internally sorting both the actual and expected collections before comparison when the flag is set.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza localizando la aserción hasText(String[] expected) y HasTextOptions; después, revisa cómo se comparan los valores de las colecciones y cómo las pruebas de aserciones existentes cubren los reintentos. Decide qué API propuesta encaja con las convenciones del proyecto y añade cobertura que demuestre que la coincidencia independiente del orden tiene éxito, preservando al mismo tiempo el comportamiento actual, que depende del orden. Se considera terminado cuando la nueva opción o método gestiona un orden no determinista de la colección sin omitir los reintentos automáticos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, playwright
- Área
- testing
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100