c165f2f788
Agrega 19 issues técnicas documentando funcionalidades implementadas y pendientes. Issues completadas (movidas a dev/issues/completed/): - 001-conversor-web-markdown.md - 002-accessibility-tree.md - 003-gestion-cookies-perfil.md - 004-gestion-extensiones-chrome.md - 005-eliminar-timeouts-innecesarios.md Issues implementadas: - 006-manejo-tabs-ventanas.md - 016-manejo-iframes.md - 017-actions-api.md - 018-file-uploads.md - 019-expected-conditions-mejoradas.md Issues pendientes (media prioridad): - 007-alert-prompt-confirm-handling.md - 008-screenshot-elementos-especificos.md - 009-pdf-generation.md - 010-device-emulation-completo.md - 011-downloads-handling.md Issues pendientes (baja prioridad / avanzado): - 012-browser-contexts-multi-sesion.md - 013-video-recording.md - 014-network-mocking-avanzado.md - 015-geolocation-permissions.md Incluye también dev/NUEVAS_FUNCIONALIDADES.md con resumen completo. Directorio: dev/
58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
# Issue #019: Expected Conditions Mejoradas
|
|
|
|
**Tipo**: Enhancement
|
|
**Prioridad**: Alta
|
|
**Estado**: En progreso
|
|
|
|
## Descripción
|
|
|
|
Implementar condiciones de espera específicas y predefinidas, similares a Selenium Expected Conditions.
|
|
|
|
## Funcionalidad deseada
|
|
|
|
- WaitUntilVisible
|
|
- WaitUntilHidden
|
|
- WaitUntilClickable
|
|
- WaitUntilEnabled
|
|
- WaitUntilDisabled
|
|
- WaitUntilSelected
|
|
- WaitUntilTextMatches
|
|
- WaitUntilAttributeContains
|
|
- WaitUntilURLContains
|
|
- WaitUntilTitleContains
|
|
- WaitUntilElementCount
|
|
|
|
## API propuesta
|
|
|
|
```go
|
|
func (b *Browser) WaitUntilVisible(ctx context.Context, selector string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilHidden(ctx context.Context, selector string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilClickable(ctx context.Context, selector string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilEnabled(ctx context.Context, selector string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilDisabled(ctx context.Context, selector string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilTextMatches(ctx context.Context, selector, text string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilAttributeContains(ctx context.Context, selector, attribute, value string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilURLContains(ctx context.Context, pattern string, opts *WaitOptions) error
|
|
func (b *Browser) WaitUntilTitleContains(ctx context.Context, pattern string, opts *WaitOptions) error
|
|
```
|
|
|
|
## Uso
|
|
|
|
```go
|
|
// Esperar a que elemento sea visible
|
|
b.WaitUntilVisible(ctx, "#modal", nil)
|
|
|
|
// Esperar a que botón sea clickeable
|
|
b.WaitUntilClickable(ctx, "#submit-btn", nil)
|
|
|
|
// Esperar a que texto aparezca
|
|
b.WaitUntilTextMatches(ctx, "#status", "Success", nil)
|
|
|
|
// Esperar cambio de URL
|
|
b.WaitUntilURLContains(ctx, "/dashboard", nil)
|
|
```
|
|
|
|
## Referencias
|
|
|
|
- Selenium Expected Conditions: https://www.selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.expected_conditions.html
|