Bibliothèque d'abstraction
Selenium UI

Une API de haut niveau conçue pour abstraire la complexité de Selenium WebDriver. Simplifiez la manipulation du DOM, les attentes explicites et l'interaction avec les formulaires grâce à des utilitaires prêts à l'emploi.

Interaction
Intelligente

Le DOM n'est pas tout à fait prêt ? Un élément est caché sous un menu collant (overlay) ? La bibliothèque s'occupe du scroll automatique, des attentes explicites et gère l'interactabilité avant chaque action pour une exécution robuste et garantie.

example-ui.com
****************
> fill_input(driver, By.ID, "password", "super_secret")
> click_on(driver, By.ID, "submit")
Clic réussi

Pourquoi utiliser cette abstraction ?

Oubliez la verbosité de `WebDriverWait` et des exceptions `ElementNotInteractable`. Focus sur la logique métier de vos tests.

Smart Waits Intégrés

Les utilitaires gèrent automatiquement les attentes explicites. Le code n'échoue plus parce que le DOM n'est pas encore prêt.

Auto-Scrolling

Avant chaque interaction (clic, saisie), la bibliothèque utilise JavaScript pour scroller vers l'élément afin d'éviter les interceptions.

Formulaires Fluides

Des utilitaires spécialisés pour remplir massivement des formulaires, uploader des fichiers ou gérer des connexions .env en une seule ligne.

Référence API : Utilitaires Core

Les briques fondamentales pour interagir avec le DOM de manière sécurisée.

Interactions et Clics

Au lieu d'écrire manuellement des `WebDriverWait`, de vérifier l'interactabilité et d'ajouter des sélecteurs complexes, utilisez ces wrappers haut-niveau.

  • click_on(driver, by, selector, success_message, error_message) Le wrapper standard. Attend l'élément, scroll vers lui, clique, et affiche des messages explicites. Pensé pour être utilisé massivement.
  • click_element(driver, by, selector, wait_before_click=0, ...) L'utilitaire fondamental. Accepte des timeouts spécifiques et la possibilité de désactiver la vérification préalable (verify_before_click).
  • wait_for_element(driver, by, selector, timeout=10) Retourne le WebElement une fois qu'il est présent dans le DOM. Gère le driver explicite.
clicks.py

Formulaires & Uploads

Remplir des inputs text, des formulaires de connexion entiers basés sur les variables d'environnement, et gérer les inputs de type `file` sans manipulation JS compliquée.

  • fill_input(driver, by, selector, text) Localise l'input, scroll vers lui, le vide (clear) et simule la saisie (send_keys).
  • fill_login_form(driver, username_env, password_env, by, selector, button) Spécifique à la connexion. Lit `.env`, remplit username/password et clique sur submit.
  • upload_file(driver, file_path_env_var, input_selector, by) Gère `<input type="file">`. Récupère le chemin absolu depuis le .env (ex: GITHUB_WORKSPACE) et l'injecte.
forms_upload.py

Assertions UI

Validez l'état de l'interface rapidement sans ramener la complexité des `AssertionError` manuels.

  • assert_text_present(driver, by, selector, expected_text, timeout) Attend l'apparition d'un élément (ex: Toast, Alerte de succès). Extrait son texte et vérifie la correspondance. Lève nativement AssertionError en cas d'échec (parfait pour Pytest).
validations.py