Je veux pouvoir cliquer sur une case à cocher et tester qu'un élément n'est plus dans le DOM de Cypress. Quelqu'un peut-il suggérer comment vous le faites?
//This is the Test when the check box is clicked and the element is there
cy.get('[type="checkbox"]').click();
cy.get('.check-box-sub-text').contains('Some text in this div.')
Je veux faire le contraire du test ci-dessus. Ainsi, lorsque je clique à nouveau dessus, la div de la classe ne doit pas être dans le DOM.
Cela semble fonctionner, alors il me dit que j’ai encore beaucoup à apprendre sur .should ()
cy.get('.check-box-sub-text').should('not.exist');
cy.get(data-e2e="create-entity-field-relation-contact-name").should('not.exist')
peut conduire à des résultats erronés car certains messages d'erreur sont masqués. Il pourrait être préférable d'utiliser
.should('not.visible')
dans ce cas.
Voici ce qui a fonctionné pour moi:
cy.get('[data-cy=parent]').should('not.have.descendants', 'img')
Je vérifie que certains <div data-cy="parent">
ne contiennent aucune image. En ce qui concerne la question d'origine, vous pouvez définir l'attribut data-cy="something, i.e. child"
sur les nœuds internes et utiliser cette assertion:
cy.get('[data-cy=parent]').should('not.have.descendants', '[data-cy=child]')