前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypress系列(12)- Cypress 编写和组织测试用例篇 之 断言

Cypress系列(12)- Cypress 编写和组织测试用例篇 之 断言

作者头像
小菠萝测试笔记
发布2020-06-09 16:46:00
7150
发布2020-06-09 16:46:00
举报

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

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

前言

  • 断言是测试用例的必要组成部分
  • 没有断言,咱们就不知道测试用例的有效性,到底通过没通过
  • Cypress 的断言基于 Chai 断言库,并且增加了对 Sinon-Chai、Chai-jQuery 断言库的支持,其中就包括 BDD 和 TDD 格式的断言
BDD 格式的断言
  • expect
  • should
TDD 格式的断言

assert

常见的断言方式

以下列出了常见的元素断言

长度(Length)

代码语言:javascript
复制
// 重试,直至找到3个匹配的<li.selected>
cy.get('li.selected').should('have.length',3)

重点: hava.length

类(Class)

代码语言:javascript
复制
// 重试,直至这个input不再有disabled的class
cy.get('form').find('input').should('not.hava.class','disabled')

重点: not.hava.class

值(Value)

代码语言:javascript
复制
// 重试,直至这个textarea的值为 poloyy
cy.get('textarea').should('have.value','poloyy')

重点: have.value

文本内容(Text Content)

代码语言:javascript
复制
// 重试,直至这个span不再包含'click me'
cy.get('a').parent('span.help').should('not.contain','click me')

重点: not.contain

针对元素是否可见(Visibility)

代码语言:javascript
复制
// 重试,直至button可见
cy.get('button').should('be.visible')

重点: be.visible

针对元素是否存在(Existence)

代码语言:javascript
复制
// 重试,直至 id=loading 元素不再存在
cy.get('#loading').should('not.exist')

重点: not.exist

针对元素状态(State)

代码语言:javascript
复制
// 重试,直至radio状态是checked
cy.get(':radio').should('be.checked')

重点: be.checked

针对 CSS

代码语言:javascript
复制
// 重试,直至complete这个类有匹配的css为止
cy.get('.completed').should('have.css','text-decoration','line-through')

重点: hava.css

针对回调函数(callback)

如果内建的断言没有满足你的需求,可以自己写断言函数,然后作为一个回调以参数的形式传给 .should()

假设源HTML如下
代码语言:javascript
复制
<div class="main-abc123 heading-xyz987">Introduction</div>
自己写的断言函数
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • BDD 格式的断言
      • TDD 格式的断言
      • 常见的断言方式
        • 长度(Length)
          • 类(Class)
            • 文本内容(Text Content)
              • 针对元素是否可见(Visibility)
                • 针对元素是否存在(Existence)
                  • 针对元素状态(State)
                    • 针对 CSS
                      • 针对回调函数(callback)
                        • 假设源HTML如下
                        • 自己写的断言函数
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档