前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypress系列(48)- and() 命令详解

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

作者头像
小菠萝测试笔记
发布2020-09-18 10:20:01
4900
发布2020-09-18 10:20:01
举报

作用

  • 创建一个断言,断言将自动重试,直到它们通过或超时
  • 和 should() 一个用法

语法格式

代码语言:javascript
复制
.and(chainers)
.and(chainers, value)
.and(chainers, method, value)
.and(callbackFn)
参数说明
  • chainers:断言器
  • value:需要断言的值
  • method:需要调用到的方法
  • callbackFn:回调方法,可以满足自己想要断言的内容;且总是返回前一个 cy 命令返回的结果,方法内的 return 是无效的;会一直运行直到里面没有断言

and() 返回的结果

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

代码语言:javascript
复制
cy
  .get('nav')                       // 返回 <nav>
  .should('be.visible')             // 返回 <nav>
  .and('have.class', 'open')        // 返回 <nav>

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

代码语言:javascript
复制
cy
  .get('nav')                       // 返回 <nav>
  .should('be.visible')             // 返回 <nav>
  .and('have.css', 'font-family')   // 返回 'sans-serif'
  .and('match', /serif/)            // 返回 'sans-serif'

简单的栗子

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

代码语言:javascript
复制
cy.get('button').should('have.class', 'active').and('not.be.disabled')

chainer 改变返回结果的栗子

html 代码
代码语言:javascript
复制
  <li>
    <a href="users/123/edit">Edit User</a>
  </li>
cypress 代码
代码语言:javascript
复制
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

代码语言:javascript
复制
cy
  .get('a')
  .should('have.class', 'active')
  .and('have.attr', 'href', '/users')
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 语法格式
    • 参数说明
    • and() 返回的结果
    • 简单的栗子
      • 对同一结果操作的栗子(button 元素)
        • chainer 改变返回结果的栗子
          • html 代码
          • cypress 代码
        • method + value 参数的栗子
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档