cypress断言

 6、断言方法

Cypress的断言基于当下流行的Chai断言库,其支持多种风格的断言,包括BDD(expect/should)和TDD(assert)形式的断言。常见的断言有:

  • 针对长度(Length)的断言

//重试,直到找到3个匹配的<li.selected>

cy.get(‘li.selected’).should(‘have.length’,3)

  • 针对类(class)的断言

//重试,直到input元素没有类被disabled为止(或者超时为止)

cy.get(input’).should(‘not.have.class’,’disabled)

  • 针对值(value)的断言

//断言teztarea的值为“itesting”

cy.get(‘textarea’).should(‘have.value’,’itesting’)

  • 针对文本内容(Text Content)的断言

cy.get(‘a’).should(‘not.contain’,’click me’),如果是url命令,则使用

cy.url().should(‘include’,’/dashboard’)

  • 判断元素是否可见

.should(‘be.visible’)

  • 判断元素是否存在

.should(‘exist’)或者.should(‘not.exist’)

  • 针对元素状态(state)的断言

cy.get(‘:radio’).should(‘be.checked’)

  • 针对css的断言

//断言completed这个类有匹配的css

cy.get(‘.completed’).should(‘have.css’,’text-decoration’,’line-through’)

  • 针对回调函数(callback)的断言

假设源html如下

<div class=”main-abc123 heading-xyz987”>Introduction</div>

如果需要断判断类名是否一定含有heading字样,则断言如下:

cy.get(‘div’)

.should(($div)=>{

expect($div).to.have.length(1)

Const className = $div[0].className

//检查类名匹配通配符/heading-/

expect(className).to.match(/heading-/)

})

更多断言库及其用法,可参考网上搜索关于BDD和TDD断言的说明。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值