Ich möchte in der Lage sein, auf ein Kontrollkästchen zu klicken und zu testen, ob sich ein Element nicht mehr im DOM in Cypress befindet. Kann jemand vorschlagen, wie Sie es tun?
//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.')
Ich möchte das Gegenteil des obigen Tests tun. Wenn ich erneut darauf klicke, sollte sich das div mit der Klasse nicht im DOM befinden.
cy.get('.check-box-sub-text').contains('Some text in this div.')
In einigen Fällen funktioniert dies möglicherweise nicht (auf einigen Geräten). Sie können es durch ersetzen,cy.contains('.check-box-sub-text', 'Some text in this div.')
es wird auf die gleiche Weise funktionieren.Antworten:
Nun, das scheint zu funktionieren, also sagt es mir, dass ich noch etwas über .should () lernen muss.
quelle
cy.get(data-e2e="create-entity-field-relation-contact-name").should('not.exists')
aber er schlägt fehlget
und versucht dannshould
mehrmals aufzurufen , wobei jeder fehlschlägt ... eine Idee, was ich falsch mache? Vielen Dank im Vorauscy.get('[data-e2e="create-entity-field-relation-contact-name"]').should('not.exists')
sollte funktionieren.s
in sollte:.should('not.exists')
->.should('not.exist')
Sie können auch nach einem Text suchen, der nicht existieren soll:
Hier haben Sie das Ergebnis in Cypress:
0 matched elements
quelle
contains
CypressError: Timed out retrying: Expected to find content: 'Im not supposed to be here' but never did.
[email protected]
überprüfe ich, ob die E-Mail irgendwo existiert. das Ergebnis ist0 element
. Welche Version von Cypress verwenden Sie?npx cypress --version
-Cypress package version: 3.5.0 Cypress binary version: 3.5.0
Dies kann zu falschen Ergebnissen führen, da einige Fehlermeldungen ausgeblendet werden. Es könnte besser sein, zu verwenden
In diesem Fall.
quelle
should('not.exist')
should('not.be.visible')
Folgendes hat bei mir funktioniert:
Ich überprüfe, ob einige
<div data-cy="parent">
keine Bilder enthalten. In Bezug auf die ursprüngliche Frage können Sie eindata-cy="something, i.e. child"
Attribut für innere Knoten festlegen und diese Behauptung verwenden:quelle
Laut https://docs.cypress.io/guides/references/assertions.html#Existence
Dies funktioniert für den Fall, dass es entfernt wird. aber für den Fall, dass Sie möchten, dass es nie existiert ... docs.cypress.io/guides/references/assertions.html#Existence Es wird wiederholt, bis es verschwindet. Dies funktioniert nicht wirklich für das Titelproblem, nach dem die meisten Leute suchen werden.
Wenn Sie jedoch testen möchten, dass das Ding in unserem Fall nie existiert.
quelle
Sie können auch den folgenden Code verwenden
oder
oder
quelle