前言
- 断言是测试用例的必要组成部分
- 没有断言,咱们就不知道测试用例的有效性,到底通过没通过
- Cypress 的断言基于 Chai 断言库,并且增加了对 Sinon-Chai、Chai-jQuery 断言库的支持,其中就包括 BDD 和 TDD 格式的断言
BDD 格式的断言
- expect
- should
TDD 格式的断言
@H_502_0@assert @H_502_0@常见的断言方式
@H_502_0@以下列出了常见的元素断言长度(Length)
// 重试,直至找到3个匹配的<li.selected> cy.get('li.selected').should('have.length',3)
类(Class)
@H_502_0@重点: not.hava.class @H_502_0@ @H_502_0@值(Value) 重试,直至这个textarea的值为 poloyy
cy.get('textarea').should('have.value','poloyy')
文本内容(Text Content)
重试,直至这个span不再包含'click me'
cy.get('a').parent('span.help').should('not.contain','click me')
针对元素是否可见(Visibility)
重试,直至button可见
cy.get('button').should('be.visible')
针对元素是否存在(Existence)
重试,直至 id=loading 元素不再存在
cy.get('#loading').should('not.exist')
针对元素状态(State)
@H_502_0@重点: be.checked @H_502_0@针对 CSS
重试,直至complete这个类有匹配的css为止 cy.get('.completed').should('have.css','text-decoration','line-through')
针对回调函数(callback)
@H_502_0@如果内建的断言没有满足你的需求,可以自己写断言函数,然后作为一个回调以参数的形式传给 .should()假设源HTML如下
<div class="main-abc123 heading-xyz987">Introduction</div>
自己写的断言函数
@H_502_0@版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。