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

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

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 })


相关文章
|
1月前
|
Python
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
48 0
|
5月前
|
JavaScript 测试技术 Python
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
45 0
|
5月前
|
前端开发 C# 开发工具
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
105 0
|
7月前
|
JSON 数据格式
通过一个具体的例子,深入了解 SAP UI5 控件数据双向绑定的工作原理和问题排查方法试读版
通过一个具体的例子,深入了解 SAP UI5 控件数据双向绑定的工作原理和问题排查方法试读版
31 0
|
7月前
|
存储 JSON BI
一步步创建包含自定义 Screen 的 ABAP 程序的详细步骤试读版
一步步创建包含自定义 Screen 的 ABAP 程序的详细步骤试读版
45 0
|
10月前
|
数据库 Android开发
重新构建711的Android项目(一),巧妙的小屏菜单查询框架实现
重新构建711的Android项目(一),巧妙的小屏菜单查询框架实现
|
前端开发
前端工作小结28-按钮封装
前端工作小结28-按钮封装
69 0
前端工作小结28-按钮封装
|
JavaScript
关于 Cypress 同界面元素交互的讨论
click 是 Cypress 里最常用的模拟用户操作的方法之一。
98 0
|
Python
保姆级别操作掌握UI布局,Python简化的UI应用展示【建议收藏】
正式的Python专栏第6篇,同学站住,别错过这个从0开始的文章!
288 0
保姆级别操作掌握UI布局,Python简化的UI应用展示【建议收藏】
|
Web App开发
使用调试的方式搞清楚SAP UI5应用标题的更改方式
使用调试的方式搞清楚SAP UI5应用标题的更改方式
使用调试的方式搞清楚SAP UI5应用标题的更改方式