![](/img/trans.png)
[英]What is the difference between cy.readFile and cy.fixture in Cypress.io?
[英]Cypress: what is the difference between `cy.contains` and `cy. findByText`
findByText
來自 Cypress 測試庫https://testing-library.com/docs/cypress-testing-library/intro
並contains
“原生”的賽普拉斯
我想知道它們之間有什么區別,什么時候我應該使用一個而不是另一個?
我認為可以在這里找到一個區別: https : //github.com/testing-library/cypress-testing-library#differences-from-dom-testing-library
如果發現多個元素符合標准,find* 命令將失敗,這不是賽普拉斯內置命令的工作方式,而是為了與其他測試庫更緊密地兼容而提供的。
這不是contains()
工作方式。 來自文檔: https : //docs.cypress.io/api/commands/contains.html#Single-Element
只返回第一個匹配的元素
contains()
也適用於 首選項,例如contains()
產生<button>
元素,即使當更深的元素是例如<span>
時它在樹中更高。 因此,如果您不將選擇器參數傳遞給命令,則它更喜歡<button>
元素而不是更深的元素。 此命令的文檔中還有其他示例。
所以現在在我看來,賽普拉斯測試庫中的find*
命令更類似於文檔中所說的其他測試庫的行為。 使用contains()
,您可能需要更多有關其工作原理的知識,以便您獲得所需的元素而不是其他一些元素,因為例如您不了解此首選項邏輯的工作原理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.