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]/);
})
相关推荐
AI大模型-小华1 小时前
2026 ChatGPT Pro + Codex 高阶开发教程:AGENTS.md、Worktree 与自动测试闭环
自动化测试·ai编程·codex·chatgpt pro·worktree·agents.md·gpt-5.5
程序员杰哥2 天前
接口自动化测试项目框架详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
fzm52983 天前
车载ECU单元测试技术与应用研究
c语言·自动化测试·单元测试·嵌入式·白盒测试
程序员龙叔20 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
goldenrolan20 天前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
程序员小远20 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
程序员三藏21 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
程序员龙叔21 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
纳米软件23 天前
CSDN:5G_6G毫米波射频芯片测试,如何解决OTA测试中的“测不准”与“效率低”?
自动化测试·5g·ate测试·ate测试系统·电子测试测量·电子测试工具