đź§Ş Tests

selenium-guide

Automatisation de tests avec Selenium WebDriver, couvrant les locators, les waits, le Page Object Model et Selenium Grid.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- selenium-guide --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } selenium-guide -Launch"

🚀 Déjà installé ?

claude "/selenium-guide"

Ou tapez /selenium-guide dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

SeleniumWebDrivertest automatiséPage Object Model

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/testing-skills/selenium-guide ~/.claude/skills/

Source : testing-skills/selenium-guide

đź“– Manuel

Selenium WebDriver Guide

Workflow

  1. Configurer l'environnement Selenium — Installer Selenium WebDriver pour le langage cible (Java, Python, C#). Configurer le WebDriverManager pour la gestion automatique des drivers navigateur. Définir les capabilities et options du navigateur.
  2. Choisir les locators appropriés — Privilégier les locators stables : id, name, data-testid. Utiliser les CSS selectors pour la performance et XPath uniquement quand nécessaire. Éviter les locators basés sur la position ou le style.
  3. Implémenter les waits correctement — Configurer un implicit wait global raisonnable. Utiliser des explicit waits (WebDriverWait + ExpectedConditions) pour les éléments dynamiques. Ne jamais mélanger implicit et explicit waits.
  4. Appliquer le Page Object Model — Créer une classe par page ou composant majeur. Encapsuler les locators et les interactions dans des méthodes métier. Séparer la logique de test de la logique de navigation.
  5. Gérer les interactions complexes — Utiliser Actions pour le drag-and-drop, hover et double-click. Gérer les iframes avec switchTo().frame(). Traiter les alertes, fenêtres multiples et onglets avec les méthodes appropriées.
  6. Structurer la suite de tests — Organiser les tests avec un framework (TestNG, pytest, NUnit). Utiliser les annotations de setup/teardown pour initialiser et fermer le driver. Implémenter un reporting clair (Allure, ExtentReports).
  7. Configurer Selenium Grid pour le parallélisme — Déployer un Hub et des Nodes pour l'exécution distribuée. Utiliser Docker Selenium pour simplifier l'infrastructure. Configurer les capabilities par navigateur et plateforme.
  8. Intégrer dans le pipeline CI/CD — Exécuter les tests en mode headless dans le CI. Configurer la capture de screenshots en cas d'échec. Publier les rapports de test et gérer les artefacts.

Règles