📌 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