zl程序教程

您现在的位置是:首页 >  其它

当前栏目

关于 Cypress 同界面元素交互的讨论

关于 元素 界面 交互 讨论 Cypress
2023-09-14 09:13:40 时间

click 是 Cypress 里最常用的模拟用户操作的方法之一。

这些命令模拟用户与您的应用程序交互。 在幕后,Cypress 会触发浏览器会触发的事件,从而导致应用程序的事件绑定被触发。

在发出任何命令之前,我们检查 DOM 的当前状态并采取一些操作来确保 DOM 元素“准备好”接收操作。

Cypress 将等待元素在 defaultCommandTimeout 的持续时间内通过所有这些检查。

Cypress 有一套复杂的规则判断一个元素是否处于 hiden 状态,见官网

[图片]

hides overflow 的含义是具有下列至少一种属性:

overflow: hidden, overflow-x: hidden, overflow-y: hidden, overflow: scroll, or overflow: auto

disable: 如果元素 disabled 状态为 true,则无法执行 click.

当许多应用程序重新渲染 DOM 时,它们实际上会删除 DOM 元素并在其位置插入一个新的 DOM 元素,并使用新的更改属性。

Cypress 会检查您要进行断言的元素是否与 DOM 分离。 这会检查元素是否仍在被测应用程序的文档中。

在执行 type 方法时,元素不能是 readonly 状态。

使用 debug 命令有助于排错:

// break on a debugger before the action command
cy.get('button').debug().click()

有的时候,我们需要强制抛出 click 事件,哪怕当前元素处于 non-actionable 状态。此时可以使用 force:true 参数。

// force the click and all subsequent events
// to fire even if this element isn't considered 'actionable'
cy.get('button').click({ force: true })