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]/);
})
相关推荐
蒸鱼Yuzheng4 天前
自动化 Socket 协议设计:消息序列、心跳、幂等重试与背压
自动化测试·python·websocket·socket·分布式系统
测试者家园4 天前
不写测试用例也能做自动化测试?
自动化测试·软件测试·人工智能·测试用例·智能化测试
矩子01X5 天前
车载总线日志解码工具实测:4 款方案从免费开源到企业级
自动化测试·汽车测试·can日志解析
艺杯羹6 天前
当网页塞进桌面端:基于Playwright的客户端模式无头自动化回归与视觉断言
自动化测试·ui自动化·playwright·e2e测试·软件质量工程
蒸鱼Yuzheng7 天前
设备端性能工件可靠导出:断点续传、哈希、manifest 与失败恢复
android·自动化测试·python·adb·数据完整性
cpolar技术支持15 天前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
更深兼春远15 天前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
蒸鱼Yuzheng16 天前
Python 游戏测试开发怎么准备:日志解析、接口校验、并发与可维护性
自动化测试·python·测试开发·面试题·游戏测试
K 旺仔小馒头16 天前
【项目】商城系统用户端测试报告
自动化测试·python·功能测试
大貔貅喝啤酒16 天前
CentOS8 + Docker 部署Gitea
自动化测试·gitea·docker 部署gitea