【发布时间】:2018-08-01 14:47:30
【问题描述】:
我希望能够单击一个复选框并测试一个元素是否不再在赛普拉斯的 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 中。
【问题讨论】:
-
我知道这与您的问题无关,但我真的很好奇。使用仅支持 Chrome 的东西的决定是什么?赛普拉斯有什么更好的地方?我一直在从事开源项目 Courgette github.com/canvaspixels/courgette 工作,想知道是什么功能吸引了所有人使用赛普拉斯。
-
我喜欢 cypress,因为在大多数情况下它很简单,而且很有效。我发现它只能在 Chrome 中使用,但对我来说我可以忍受。
-
cy.get('.check-box-sub-text').contains('Some text in this div.')在某些情况下可能不起作用(在某些设备上)。您可以用cy.contains('.check-box-sub-text', 'Some text in this div.')替换它,它会以同样的方式工作。 -
我认为您应该澄清“测试元素是否被删除”的问题。否则它会与另一个问题混淆,“测试元素是否从未存在”。技术含义和答案因情况而异。
-
@alexrogers 有时您不需要跨浏览器测试,而只需启动一些快速的端到端测试。这对于无法负担测试所有浏览器但几乎无法支持 e2e 的小型团队特别有用。
标签: javascript cypress