Cypress系列(12)- Cypress 编写和组织测试用例篇 之 断言

简介: Cypress系列(12)- Cypress 编写和组织测试用例篇 之 断言

如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

前言


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

 

BDD 格式的断言

  • expect
  • should

 

TDD 格式的断言

assert

 

常见的断言方式


以下列出了常见的元素断言

长度(Length)

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

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

重点:hava.length

 

类(Class)

// 重试,直至这个input不再有disabled的class

cy.get('form').find('input').should('not.hava.class','disabled')

重点:not.hava.class

 

值(Value)

// 重试,直至这个textarea的值为 poloyy

cy.get('textarea').should('have.value','poloyy')

重点:have.value

 

文本内容(Text Content)

// 重试,直至这个span不再包含'click me'

cy.get('a').parent('span.help').should('not.contain','click me')

重点:not.contain

 

针对元素是否可见(Visibility)

// 重试,直至button可见

cy.get('button').should('be.visible')

重点:be.visible

 

针对元素是否存在(Existence)

// 重试,直至 id=loading 元素不再存在

cy.get('#loading').should('not.exist')

重点:not.exist

 

针对元素状态(State)

// 重试,直至radio状态是checked

cy.get(':radio').should('be.checked')

重点:be.checked

 

针对 CSS

// 重试,直至complete这个类有匹配的css为止

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

重点:hava.css

 

针对回调函数(callback)


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

假设源HTML如下

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

 

自己写的断言函数image.png

相关文章
|
25天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
43 2
|
26天前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
32 2
|
6月前
|
JavaScript 前端开发 安全
在众多的测试工具中,Cypress以其强大的端到端测试能力和与TypeScript的完美结合,成为了前端开发者的首选
【6月更文挑战第11天】Cypress结合TypeScript,打造前端测试新体验。TypeScript增强代码可读性和稳定性,Cypress提供强大端到端测试,二者结合提升测试准确性和可靠性。通过类型定义、自定义命令和断言,优化测试代码;Cypress模拟真实用户操作、时间旅行功能及内置调试工具,确保应用功能性能。推荐前端开发者使用TypeScript+Cypress进行端到端测试。
74 2
|
7月前
|
测试技术 Python
cypress 和allure 集成生成测试报告
cypress 和allure 集成生成测试报告
152 1
cypress 和allure 集成生成测试报告
|
6月前
|
JavaScript 前端开发 安全
Cypress因其强大的端到端测试能力备受青睐,尤其与TypeScript结合,提升了测试的规范性和准确性。
【6月更文挑战第12天】前端开发日益复杂,测试成为保障代码质量和稳定性的关键。Cypress因其强大的端到端测试能力备受青睐,尤其与TypeScript结合,提升了测试的规范性和准确性。TypeScript使Cypress测试代码更易读、维护,通过类型定义、自定义命令和断言增强测试可靠性。Cypress能模拟真实用户操作,支持时间旅行和高效调试,全面测试前端应用功能。因此,TypeScript+Cypress是前端端到端测试的理想选择。
74 2
|
7月前
|
JavaScript 前端开发 安全
【TypeScript技术专栏】TypeScript与Cypress端到端测试
【4月更文挑战第30天】随着前端开发复杂度提升,测试成为关键环节,Cypress因其强大的端到端测试和与TypeScript的集成备受青睐。TypeScript增强了代码的可读性和维护性,确保测试准确性和可靠性。在Cypress中,TypeScript用于定义测试变量、自定义命令和断言,提高测试代码质量。Cypress的优势包括模拟真实用户操作、时间旅行功能和强大的调试工具,能有效提升测试效率和准确性。结合两者,前端开发者能实现高效、全面的端到端测试。
77 0
|
JavaScript 测试技术 Python
cypress自动化测试框架搭建
cypress自动化测试框架搭建
134 0
|
JavaScript 数据可视化 IDE
测试自动化工具比较:Selenium vs. Cypress
在软件开发过程中,测试自动化是一个关键的环节,它可以提高测试效率和质量,并帮助开发团队更快地交付高质量的软件。在测试自动化领域,Selenium和Cypress是两个备受关注的工具。本文将对它们进行比较,帮助开发者选择适合自己项目的测试自动化工具。
540 0
|
存储 Web App开发 JavaScript
Node.js躬行记(28)——Cypress自动化测试实践
Node.js躬行记(28)——Cypress自动化测试实践
|
前端开发 测试技术