如何在Cypress中判断复选框是否处于indeterminate不确定状态?
Cypress 检测复选框 indeterminate 状态的实现方案
Cypress 没有内置专门校验复选框 indeterminate(半选) 状态的链式断言,你可以通过读取原生 DOM 元素属性的方式实现检测,常用的两种实现方式如下:
- 方法1:直接在断言回调中读取属性
直接获取目标元素后,通过回调拿到原生 DOM 对象,校验其indeterminate布尔属性即可:// 校验复选框处于 indeterminate 状态 cy.get('[data-cy=my-selector]').should($checkbox => { expect($checkbox[0].indeterminate).to.be.true }) // 校验复选框不处于 indeterminate 状态 cy.get('[data-cy=my-selector]').should($checkbox => { expect($checkbox[0].indeterminate).to.be.false }) - 方法2:封装自定义断言(适合频繁使用的场景)
你可以把判断逻辑封装为自定义 Cypress 命令,后续可以像调用内置断言一样直接使用:// 先在 cypress/support/commands.js 文件中添加自定义命令 Cypress.Commands.add('beIndeterminate', { prevSubject: 'element' }, (subject) => { expect(subject[0].indeterminate).to.be.true return subject }) // 业务代码中调用示例 cy.get('[data-cy=my-selector]').should('beIndeterminate')
内容的提问来源于stack exchange,提问作者Fridjon Gudjohnsen
相关产品推荐
相关产品推荐

