关于 Cypress 同界面元素交互的讨论
click 是 Cypress 里最常用的模擬用戶操作的方法之一。
這些命令模擬用戶與您的應(yīng)用程序交互。 在幕后,Cypress 會觸發(fā)瀏覽器會觸發(fā)的事件,從而導(dǎo)致應(yīng)用程序的事件綁定被觸發(fā)。
在發(fā)出任何命令之前,我們檢查 DOM 的當(dāng)前狀態(tài)并采取一些操作來確保 DOM 元素“準(zhǔn)備好”接收操作。
Cypress 將等待元素在 defaultCommandTimeout 的持續(xù)時間內(nèi)通過所有這些檢查。
Cypress 有一套復(fù)雜的規(guī)則判斷一個元素是否處于 hiden 狀態(tài),見官網(wǎng)。
[圖片]
hides overflow 的含義是具有下列至少一種屬性:
overflow: hidden, overflow-x: hidden, overflow-y: hidden, overflow: scroll, or overflow: autodisable: 如果元素 disabled 狀態(tài)為 true,則無法執(zhí)行 click.
當(dāng)許多應(yīng)用程序重新渲染 DOM 時,它們實(shí)際上會刪除 DOM 元素并在其位置插入一個新的 DOM 元素,并使用新的更改屬性。
Cypress 會檢查您要進(jìn)行斷言的元素是否與 DOM 分離。 這會檢查元素是否仍在被測應(yīng)用程序的文檔中。
在執(zhí)行 type 方法時,元素不能是 readonly 狀態(tài)。
使用 debug 命令有助于排錯:
// break on a debugger before the action command cy.get('button').debug().click()有的時候,我們需要強(qiáng)制拋出 click 事件,哪怕當(dāng)前元素處于 non-actionable 狀態(tài)。此時可以使用 force:true 參數(shù)。
// force the click and all subsequent events // to fire even if this element isn't considered 'actionable' cy.get('button').click({ force: true })總結(jié)
以上是生活随笔為你收集整理的关于 Cypress 同界面元素交互的讨论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cypress 等待某个 HTTP pu
- 下一篇: pr导出什么格式最接近原画质(有什么性能