Cypress断言篇

Cypress断言篇

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

assert

常见的断言方式
长度hava.length
typescript 复制代码
// 重试,直至找到3个匹配的<li.selected>
cy.get('li.selected').should('have.length',3)
not.hava.class
typescript 复制代码
// 重试,直至这个input不再有disabled的class
cy.get('form').find('input').should('not.hava.class','disabled')
值have.value
typescript 复制代码
// 重试,直至这个textarea的值为zss
cy.get('textarea').should('have.value','zss')
文本内容not.contain
typescript 复制代码
// 重试,直至这个span不再包含'hello'
cy.get('a').parent('span.help').should('not.contain','hello')
针对元素是否可见be.visible
typescript 复制代码
// 重试,直至button可见
cy.get('button').should('be.visible')
针对元素是否存在not.exist
typescript 复制代码
// 重试,直至 id=loading 元素不再存在
cy.get('#loading').should('not.exist')
针对元素状态be.checked
typescript 复制代码
// 重试,直至radio状态是checked
cy.get(':radio').should('be.checked')
针对 CSS have.css
typescript 复制代码
// 重试,直至complete这个类有匹配的css为止
cy.get('.completed').should('have.css','text-decoration','line-through')
针对回调函数

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

typescript 复制代码
cy.get('span').should($el=>{
    let class_name=$el[0].className;
    expect(class_name).to.match(/[0-9]/);
})
相关推荐
有风南来2 天前
算术图片验证码(四则运算)+selenium
自动化测试·python·selenium·算术图片验证码·四则运算验证码·加减乘除图片验证码
程序员三藏2 天前
如何使用Jmeter进行压力测试?
自动化测试·软件测试·python·测试工具·jmeter·测试用例·压力测试
互联网杂货铺2 天前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
测试老哥3 天前
Jmeter如何进行多服务器远程测试?
自动化测试·软件测试·功能测试·测试工具·jmeter·测试用例·性能测试
程序员杰哥3 天前
Postman常见问题及解决方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
Tom Boom3 天前
Selenium自动下载浏览器驱动
自动化测试·webdriver·自动化测试框架开发·自动下载驱动
天才测试猿3 天前
Postman接口测试之postman设置接口关联,实现参数化
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
程序员杰哥4 天前
接口自动化测试之pytest 运行方式及前置后置封装
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest