如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
下面着重讲点击操作,一共有三个命令
单击某个元素
// 单击某个元素
.click()
// 带参数的单击
.click(options)
// 在某个位置点击
.click(position)
// 在某个位置点击,且带参数
.click(position, options)
// 根据页面坐标点击
.click(x, y)
// 根据页面坐标点击,且带参数
.click(x, y, options)
宗旨:先获取 DOM 元素,再对 DOM 元素操作
每个元素都有九个 position,具体可看下图
距离 DOM 元素左上角的坐标,x 是横轴,y 是竖轴
共有四个
// 强制点击,和所有后续事件
// 即使该元素 “不可操作”,也会触发点击操作
cy.get('button').click({ force: true })
总而言之, { force: true } 跳过检查,它将始终在所需元素处触发事件
cy.get(' ul > li ') 共匹配四个 DOM 元素,他们均触发单击操作
.click() 命令还可以与 .type() 命令结合使用修饰符来触发组合键操作,以便在单击时结合键盘操作,例如ALT + click
修饰符 | 作用 | 别名 |
---|---|---|
{alt} | 等价于 alt 键 | {option} |
{ctrl} | 等价于 ctrl 键 | {control} |
{shift} | 等价于 shift 键 |
双击,跟 click() 的语法 & 用法一致,只是变成了双击
cy.get("#main1").dblclick()
cy.get("#main1").dblclick("top")
cy.get("#main1").dblclick(15, 15)
右键,跟 click() 的语法 & 用法一致,只是变成了右键点击
cy.get("#li1").rightclick()
cy.get("#li1").rightclick("top")
cy.get("#li1").rightclick(15, 15)
执行 .click() 必须是 DOM 元素达到了可操作状态
.click() 将自动等待元素达到可操作状态。
.click() 将自动等待后面链接的断言通过
.click() 如果 DOM 元素一直达不到可操作状态,可能会超时
.click() 如果后面链接的断言一直不通过,可能会超时
在命令日志中单击 click 时,控制台console 将输出以下鼠标事件
后面栗子主要以这个页面为主哦
在 DOM 元素中输入内容
// 输入文本
.type(text)
// 带参数输入文本
.type(text, options)
宗旨:先获取 DOM 元素,再对 DOM 元素进行 type 操作
调用 type() 命令的都不是 DOM 元素,所以错误!
// 单个参数
.type("{selectall}", {parseSpecialCharSequences: false})
// 多个参数
.type("1234", {log:false , parseSpecialCharSequences: false})
下面举的栗子以这个 html 页面的元素为基础哦
继续以上面栗子的 html 页面为基础
// 等同于按 shift + alt + q
cy.get('input').type('{shift}{alt}Q')
// 按住 shift,然后输入 test
cy.get('input').type('{shift}test')
说实话,我试过感觉没生效啊,按道理按住 shift 键输入内容应该是大写的,但是实际还是小写,后面再研究一波(感觉有点鸡肋,实际场景比较少用到又要按键盘又要输入内容,了解即可)
<body>
<textarea>
<input> 标签,且 type 属性是以下其中一个
当传入了特殊字符、键盘键时,只触发了 keydown 事件
当传入了内容字符时,每个字符都会触发一系列的事件
.clear()
.clear(options)
宗旨:需要先拿到 DOM 元素,且是 <input> 或 <textarea > 标签,再执行 clear() 操作
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。