微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cypress系列48- and() 命令详解

如果想从头学起Cypress,可以看下面的系列文章

https://www.cnblogs.com/poloyy/category/1768839.html

 

作用

 

语法格式

.and(chainers)
.and(chainers,value)
.and(chainers,method,value)
.and(callbackFn)

 

参数说明

  • chainers:断言器
  • value:需要断言的值
  • method:需要调用到的方法
  • callbackFn:回调方法,可以满足自己想要断言的内容;且总是返回前一个 cy 命令返回的结果,方法内的 return 是无效的;会一直运行直到里面没有断言

 

and() 返回的结果

在大多数情况下,.and() 返回与上一个命令相同的结果

cy
  .get('nav')                       // 返回 <nav>
  .should('be.visible')              返回 <nav>
  .and('have.class','open')         返回 <nav>

 

但是,某些 chainer 会改变返回的结果

 返回 <nav>
  .and('have.css','font-family')    返回 'sans-serif'
  .and('match',/serif/)             返回 'sans-serif'

 

简单的栗子

对同一结果操作的栗子(button 元素)

cy.get('button').should('have.class','active').and('not.be.disabled')

 

chainer 改变返回结果的栗子

html 代码

  <li>
    a href="users/123/edit">Edit User</a>
  >

 

cypress 代码

cy
  .get('a')
  .should('contain','Edit User')  返回的是 <a>
  .and('have.attr','href')        返回的是 href 的值
  .and('match',/users/)           返回的是 href 的值
  .and('not.include','#')         返回的是 href 的值

 

method + value 参数的栗子

断言 href 属性值是否等于 /users

)
  .should('have.class','active')
  .and('have.attr','href','/users')

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐