Mémento des commandes de base et avancées 

📌 Sélection d’éléments

  • cy.get(‘selector’) → sélectionne un élément avec un sélecteur CSS
  • cy.contains(‘text’) → sélectionne un élément contenant un texte
  • cy.find(‘selector’) → cherche à l’intérieur d’un élément déjà sélectionné
  • cy.get(‘selector’).eq(0) → récupère le 1er élément d’une liste
  • cy.get(‘selector’).first() / .last() → premier / dernier

📌 Actions utilisateur

  • .click() → clique sur un élément
  • .dblclick() → double-clic
  • .type(‘texte’) → taper du texte dans un champ
  • .clear() → vider un champ de saisie
  • .check() / .uncheck() → cocher/décocher une case
  • .select(‘option’) → choisir une valeur dans un <select>
  • .submit() → soumettre un formulaire

📌 Assertions

  • .should(‘exist’) → vérifier que l’élément existe
  • .should(‘not.exist’) → vérifier que l’élément n’existe pas
  • .should(‘be.visible’) / .should(‘not.be.visible’)
  • .should(‘have.text’, ‘…’) → comparer le texte exact
  • .should(‘contain.text’, ‘…’) → texte partiel
  • .should(‘have.value’, ‘…’) → valeur d’un champ <input>
  • .should(‘have.attr’, ‘href’, ‘/login’) → attribut spécifique
  • .should(‘have.css’, ‘color’, ‘rgb(0, 0, 0)’) → style CSS
  • .should(‘have.class’, ‘active’) → classe CSS

📌 Navigation & URL

  • cy.visit(‘/login’) → ouvrir une page
  • cy.url().should(‘include’, ‘/dashboard’) → vérifier l’URL
  • cy.go(‘back’) / cy.go(‘forward’) → naviguer dans l’historique
  • cy.reload() → recharger la page

📌 Attentes & timing

  • cy.wait(1000) → attendre 1 seconde (pas recommandé sauf cas spécial)
  • cy.wait(‘@alias’) → attendre une requête interceptée
  • cy.clock() / cy.tick(ms) → contrôler le temps dans les tests

📌 Réseau & API

  • cy.intercept(‘GET’, ‘/api/users’).as(‘getUsers’) → intercepter une requête
  • cy.wait(‘@getUsers’) → attendre la fin de la requête
  • cy.request(‘POST’, ‘/api/login’, { user, pass }) → appel HTTP direct

📌 Gestion des fenêtres & stockage

  • cy.window() → accéder à l’objet window
  • cy.document() → accéder au document
  • cy.clearCookies() / cy.clearLocalStorage()
  • cy.setCookie(‘name’, ‘value’) / cy.getCookie(‘name’)

📌 Divers

  • cy.log(‘Message’) → afficher un message dans le log Cypress
  • cy.wrap(obj) → transformer un objet JS/jQuery en objet Cypress
  • cy.fixture(‘data.json’) → charger des données depuis cypress/fixtures
  • cy.screenshot() → prendre une capture d’écran
  • cy.viewport(1280, 720) → définir la taille de la fenêtre