簡體   English   中英

由於元素具有 position:已修復並被另一個元素覆蓋,be.visible 斷言失敗

[英]be.visible assertion is failing due to element having position: fixed and being covered by another element

斷言如下

cy.get('[data-cy="myElement"] > path')
.should('be.visible')

錯誤如下:

12000 毫秒后重試超時:預期“”為“可見”

此元素不可見,因為它具有 CSS 屬性:position:已修復並且它被另一個元素覆蓋:

 <svg class="coveringElement" focusable="false" aria-hidden="true" viewBox="0 0 24 24" name="large">...</svg>

我已經看到關於.get.click的答案,但當錯誤是position: fixed error causing assertions to fail 時沒有看到。

期望的結果:

能夠斷言元素在應用程序中是可見的(不僅僅是存在)。

筆記:

  • 我斷言的元素在使用該應用程序時是可見的,並且沒有任何東西明顯地覆蓋它。
  • 我斷言的元素在對話框中
  • 如果我使用“存在”,則斷言通過
  • 嘗試使用.invoke隱藏覆蓋元素什么都不做

<path>元素不適合在 Cypress 測試中執行操作時使用,例如.click()

它的主要目的是告訴瀏覽器要為父<svg>元素繪制什么圖像。

而是嘗試單擊<svg> (即圖標)本身

cy.get('[data-cy="myElement"]')
  .should('be.visible')
  .click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM