cypress 支持哪些元素操作?

简介: cypress 支持哪些元素操作?

大家好,我是阿萨。昨天学习了元素识别后cypress 如何定位元素?大家都可以很顺利的找到元素了。找到元素就是为了操作。今天我们就学习下元素操作的方法有哪些?


一. 单击 和双击


  1. 单击

  直接调用方法click,就可以点击一个button。一般调用这个方法都会点击元素的正中间位置。

cy.get('.btn').click()


除了单击中间位置,也可以在上下左右不同问题点击。

 cy.get('#canvas').click('topLeft')
cy.get('#canvas').click('top')
cy.get('#canvas').click('topRight')
cy.get('#canvas').click('left')
cy.get('#canvas').click('right')
cy.get('#canvas').click('bottomLeft')
cy.get('#canvas').click('bottom')
cy.get('#canvas').click('bottomRight')

也可以点击不同坐标位置。

cy.get('#canvas')
  .click(80, 75)
  .click(170, 75)
  .click(80, 165)
  .click(100, 185)
  .click(125, 190)
  .click(150, 185)
  .click(170, 165)


同时也可以一次点击多个元素。

cy.get('.btns>.btn').click({ multiple: true })


2. 双击


比较简单,就是直接双击就可以

cy.get('.div').dblclick()


二。输入字符经常在不同控件中都要输入不同字符。文本框里输入字母。

cy.get('.username').type('Sarah')

上下左右,删除,退格键的输入方法

 cy.get('.textarea')
  .type('{leftarrow}{rightarrow}{uparrow}{downarrow}')
  .type('{del}{selectall}{backspace}')

输入组合键

cy.get('.text
cy.get('.textarea')
.type('{alt}{option}') 
  .type('{ctrl}{control}') 
  .type('{meta}{command}{cmd}')

缓慢输入。

cy.get('.textarea').type('slow.Sarah', { delay: 100 })


三. 获取焦点


文本框等输入之前需要获取焦点

cy.get('.text').focus()


四. 清空文本


输入框的问题输入错误了,清空相关文本

cy.get('.aclear').type('Clear this text')
  .clear()


五.提交


form的提交

cy.submit()

按钮提交

cy.get('.submit').submit()


六. 右键点击


在元素上点击右键。

cy.get('.div').rightclick()


七. CheckBox 或者Radio button的选中和取消选中


image.png

image.png

这2种 选中

 cy.get('.radios [type="radio"]')
  .check('radio1')


 cy.get('.multiple-checkboxes [type="checkbox"]')
  .check(['checkbox1', 'checkbox2'])

取消选中

cy.get('.radios [type="radio"]')  .uncheck('radio1')


cy.get('.multiple-checkboxes [type="checkbox"]')  .uncheck(['checkbox1', 'checkbox2'])


八.下拉选择


下拉框选择----单选

cy.get('.select').select('choices1')

下拉框多选

cy.get('.action-select-multiple')  .select(['option1', 'option2', 'optiion3'])


九.滚动


滚动到可视区域

cy.get('#scroll').scrollIntoView()

滚动到上下左右,

cy.get('#scrollable').scrollTo('right')

滚动到固定坐标,

cy.get('#scrollable').scrollTo(250, 250)

滚动到元素宽高的百分比位置,

cy.get('#scrollable').scrollTo('75%', '25%')

按照鼠标操作滚动多少毫秒。

cy.get('#scrollable').scrollTo('center', { duration: 2000 })

还可以控制滚动的速度

cy.get('#scrollable').scrollTo('center', { easing: 'linear' })


十。触发dom 元素的事件


比如触发 滑块的change 事件

 cy.get('.trigger-input-range')
  .invoke('val', 25)
  .trigger('change')
  .get('input[type=range]').siblings('p')
  .should('have.text', '25')


元素操作方法已经列完了。

你学会了吗?


相关文章
Bug级别判定法则
Bug级别判定法则
1108 0
|
前端开发 JavaScript
cypress 如何定位元素?
cypress 如何定位元素?
334 0
cypress 如何定位元素?
|
9月前
|
编解码 并行计算 物联网
4G显存部署Flux,2分钟Wan2.1-14B视频生成,DiffSynth-Engine引擎开源!
魔搭社区的开源项目 DiffSynth-Studio 自推出以来,凭借其前沿的技术探索和卓越的创新能力,持续受到开源社区的高度关注与广泛好评。截至目前,该项目已在 GitHub 上斩获超过 8,000 颗星,成为备受瞩目的开源项目之一。作为以技术探索为核心理念的实践平台,DiffSynth-Studio 基于扩散模型(Diffusion Model),在图像生成和视频生成领域孵化出了一系列富有创意且实用的技术成果,其中包括 ExVideo、ArtAug、EliGen 等代表性模块。
1628 3
WPF自定义控件05:ToggleButton
本文重点介绍WPF中如何实现自定义ToggleButton控件,它是一个开关控件,通过单击来进行状态的快速切换。
5980 0
WPF自定义控件05:ToggleButton
|
存储 Web App开发 前端开发
Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!(二)
Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!(二)
948 0
|
12月前
【HarmonyOS】HMRouter使用详解(二)
HMRouter中使用HMRouterMgr的静态方法push()和replace()来实现路由跳转。使用pop()方法来实现页面返回 * push :目标页面不会替换当前页,而是插入页面栈。可以使用pop实现页面的返回操作。 * replace:目标页面会替换当前页,并销毁当前页。这样可以释放当前页的资源,并且无法返回到当前页。 * pop:返回页面栈的上一个页面,skipedLayerNumber 页面返回的层级数量,默认为0,表示返回上一级,1表示跳过一级页面返回
586 8
【HarmonyOS】HMRouter使用详解(二)
|
安全 数据挖掘
服务器数据恢复—RAID5阵列中两块硬盘离线导致阵列崩溃的数据恢复案例
服务器数据恢复环境: 两组分别由4块SAS接口硬盘组建的raid5阵列,两组raid5阵列划分LUN并由LVM管理,格式化为EXT3文件系统。 服务器故障: RAID5阵列中一块硬盘未知原因离线,热备盘自动激活上线替换离线硬盘。在热备盘上线过程中,raid5阵列中又有一块硬盘离线。热备盘同步失败,该raid阵列崩溃,LVM结构变得不完整,文件系统无法正常使用。
|
运维 容灾 关系型数据库
MySQL高可用方案--Xenon全解
MySQL高可用方案--Xenon全解
|
Unix Linux Go
流量回放工具之 Goreplay 安装及初级使用
【6月更文挑战第2天】流量回放工具之 Goreplay 安装及初级使用
1321 3
|
数据采集 存储 数据可视化
Python实战项目——餐厅订单数据分析(一)
Python实战项目——餐厅订单数据分析(一)
1641 0