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


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

你学会了吗?


相关文章
|
4月前
|
前端开发 JavaScript
cypress 如何定位元素?
cypress 如何定位元素?
124 0
cypress 如何定位元素?
|
4月前
|
JavaScript 测试技术
Selenium报错ElementNotInteractableException元素不可交互,该如何解决?
本文介绍了Selenium测试中遇到的`ElementNotInteractableException`异常,该异常通常由于元素被遮挡、不可见、被禁用或位于框架内导致。解决方法包括等待元素可交互、确保元素可见、检查元素状态及切换到正确框架。示例代码展示了如何使用显式等待策略处理此异常,以提高测试稳定性。
139 0
|
4月前
|
API Python
【python自动化】Playwright基础教程(四)事件操作①高亮&元素匹配器&鼠标悬停
【python自动化】Playwright基础教程(四)事件操作①高亮&元素匹配器&鼠标悬停
80 0
|
10月前
|
JavaScript 测试技术 Python
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
66 0
|
12月前
|
JavaScript 前端开发
Cypress 基础 - 元素的定位
Cypress 基础 - 元素的定位
|
12月前
|
JavaScript
关于 Cypress 同界面元素交互的讨论
关于 Cypress 同界面元素交互的讨论
|
前端开发
selenium--页面元素相关的操作
selenium--页面元素相关的操作
selenium--页面元素是否可见和可操作
selenium--页面元素是否可见和可操作
|
JavaScript
cypress 支持哪些元素操作?
大家好,我是阿萨。昨天学习了元素识别后cypress 如何定位元素?大家都可以很顺利的找到元素了。找到元素就是为了操作。今天我们就学习下元素操作的方法有哪些?
230 0
cypress 支持哪些元素操作?
cypress 遍历元素的方法有哪些?
大家好,我是阿萨。昨天学习了cypress的元素操作方法。今天我们继续学习cypress的元素遍历方法。
309 0
cypress 遍历元素的方法有哪些?