测试基础 —— Cypress .should():简单指南!

以下为作者观点:

Cypress 是一个强大的端到端测试框架,可简化测试编写并确保可靠性。Cypress 的一个关键特性是它的断言功能,该功能由.should()命令实现。此命令对于验证应用程序是否正常运行并符合预期至关重要。

什么是 Cypress .should()

Cypress 中的.should()命令断言某个主体满足某些条件。它采用回调函数或一组预定义断言来验证元素、对象或操作结果的状态。

基本语法:

.should()命令的基本语法是:

cy.get('selector')。应该('断言',值)

cy.get('selector'):选择你想要作出断言的元素。

.should('assertion', value):指定要做出的断言以及预期值

常见断言:

Cypress 提供了多种可与.should()起使用的断言。

以下是一些最常用的断言:

1.检查元素可见性:

最常见的断言之一是检查元素是否可见或隐藏。这对于确保元素按预期出现和消失很有用。

例子:

cy.get('.login-button').should('be.visible'); 
cy.get('.error-message').should('not.be.visible');

在示例中,我们检查登录按钮是否可见并且错误消息是否可见。

2.检查元素的文本内容:

如果验证元素是否包含特定文本,这将很有帮助。这对于检查动态内容的正确性特别有用。

例子:

cy.get('.welcome-message').should('contain.text', '欢迎回来!'); 
cy.get('.header').should('have.text', '我的仪表板');

在这里,我们检查欢迎信息是否包含文本“欢迎回来!”,以及标题是否包含确切的文本“我的仪表板”。

3.检查属性值:

有时需要验证元素的属性,例如hrefsrcclass

例子:

cy.get('a[href="/profile"]').should('have.attr', 'href', '/profile'); 
cy.get('img').should('have.attr', 'alt').and('not.be.empty');

在这个例子中,我们断言href链接的属性是正确的,并且图像具有非空alt属性。

4. 确保元素状态:

可以检查元素是否启用或禁用、选中或未选中,这对于表单元素很有用。

例子:

cy.get('输入[type="checkbox"]').should('被选中'); 
cy.get('按钮[type="submit"]').should('被启用');

这确保复选框被选中并且提交按钮被启用。

5. 组合多个断言:

可以链接多个断言来对元素执行更全面的检查。

例子:

cy.get('.profile-card') 
  .should('be.visible') 
  .and('contain.text', 'John Doe') 
  .and('have.class', 'active');

在这个例子中,我们检查个人资料卡是否可见,是否包含文本“John Doe”,以及是否具有“active”类。

使用最佳实践.should():

  • 使用描述性断言:确保断言清楚地描述正在检查的内容。这使测试更具可读性且更易于理解。

  • 明智地链接断言:必要时组合多个断言,但避免过度链接,因为这可能会使测试更难维护。

  • 保持断言的集中性:每个断言都应检查特定条件。这有助于更有效地隔离测试失败和调试问题。

  • 利用 Cypress 命令: Cypress 命令(例如cy.get()、、cy.contains()和)cy.find()可以与.should()一起使用来选择元素并根据特定标准做出断言。

结论

使用 Cypress.should()进行断言,你可以验证 Web 应用程序在各种条件下是否正常运行。通过理解和应用不同的断言,可以创建强大而可靠的测试,以确保应用程序的功能符合预期。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值