[英]Cypress: any difference between cy.get("a").find("b") and cy.get("a b")
好像它们是一样的。 cy.get("a").find("b")
和cy.get("ab")
之间的输出有什么区别吗?
(其中a
和b
是一些选择器,例如div
和span
,或.someClass
和.someOtherClass
。)
正如您在问题中所述, cy.get("a").find("b")
和cy.get("ab")
之间没有区别。 但是 Cypress 中find
和get
命令之间最重要的区别是cy.get()
是从cy
链接起来的,它总是在整个document
查找选择器,如 Cypress 文档中所述。 但正如赛普拉斯文档中再次指出的那样,查找工作如下:
获取特定选择器的后代 DOM 元素。
因此命令cy.get("a").find("b")
返回所有b
元素这是一个的继任者a
元素,但cy.get("a").get("b")
中找出所有a
和b
元素,无论它们是父元素还是子元素。
find() 不会在 cy 上工作,而可以在链接的 DOM 上工作。 下面的命令会抛出错误 cy.find('.progress') // Errors, cannot be chained off 'cy'
结果通常没有区别。
cy.get("a").find("b").click()
只会重试find('b').click()
,而cy.get("ab").click()
将重试整个选择cy.get("ab")
。 https://docs.cypress.io/guides/core-concepts/retry-ability#Only-the-last-command-is-retry
通常两者都会得到相同的结果,但是当结果不同时,调试很烦人。 我尽量坚持一个命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.