cypress主要方法的区别问题

1.get()和within() 的使用

  • 直接在cy后面,或者在其他命令后面,只要是直接在整个document中找寻元素,都可以使用get()方法获取元素
  • 如果在其他命令后面,目标作用域是是前面command所yield的范围,则使用within()方法
//cy.contains('hello')输出的DOM元素中再get('.class')
cy.contains('hello').within({
    cy.get('.class');
})

2.trigger(event)、invoke(‘trigger’,‘event’)和click({force:true})

1、javascript实现的事件如click、mouseover、mousedown、mouseup、mouseleave、mousemove可以使用trigger(event) & invoke(‘trigger’, ‘event’)来触发

cy.get(’.hidden’).trigger(‘mouseover’) //在某元素上触发mouseover事件
cy.get(’.hidden’).invoke(‘trigger’, ‘mouseover’) //在某元素上触发mouseover事件

2、CSS实现的事件如hover则不能使用trigger和invoke方法,应该通过配置click()函数的配置项force为true,即不管页面上元素是否visible,强制点击该元素。
** 前提是该元素确实在DOM树中存在 **

cy.get(’.hidden’).click({force: true}) // 强制点击页面不可见,但存在的元素
cy.get(’.checkbox’).check({ force: true }) //强制勾选页面不可见,但存在的元素

3.get(selector)和contains(selector,content)的区别
1.get(selector)可以按照selector找到所有满足的DOM元素,不仅仅只有一个,这个时候也会带来很多麻烦,会提示报错。
2.contains(selector,content)则是对DOM元素从浅到深进行遍历,找到满足selector和content的第一个元素就返回,不会再向下遍历,但也会带来一些使用上的问题,比如说需要找到第二个元素,那么contains()这个方法就不能起作用了。

原文链接
https://www.jianshu.com/p/31a4fe60ea11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值