web-dev-qa-db-ja.com

サイプレス:要素が存在しないかどうかをテストします

チェックボックスをクリックして、要素がサイプレスのDOMに存在しないことをテストできるようにしたいと思います。誰かがあなたのやり方を提案できますか?

//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.')

上記のテストの反対を行いたいです。したがって、もう一度クリックすると、クラスのdivがDOMにないはずです。

65
Maccurt

さて、これはうまくいくようですので、.should()についてもっと学ぶ必要があると教えてくれます

cy.get('.check-box-sub-text').should('not.exist');
84
Maccurt
cy.get(data-e2e="create-entity-field-relation-contact-name").should('not.exist')

一部のエラーメッセージが非表示になるため、いくつかの誤った結果につながる可能性があります。使用する方が良いかもしれません

.should('not.visible') 

その場合。

6
MrSmiley

ここに私のために働いたものがあります:

cy.get('[data-cy=parent]').should('not.have.descendants', 'img')

一部の<div data-cy="parent">に画像がないことを確認します。元の質問に関して、内部ノードにdata-cy="something, i.e. child"属性を設定し、このアサーションを使用できます。

cy.get('[data-cy=parent]').should('not.have.descendants', '[data-cy=child]')
1
Mikhail Vasin