Cypress 做 e2e 测试,如何在获得某个 checkbox 后先判断它是否被 check 然后再更改它的状态?

比如如果这个 checkbox 已经被 check 了,就不做操作,否则将它 check。

我们假设这个 checkbox 的 data-testid 属性是 VendorCodeCheckbox-0-test-id。Cypress 的代码如下:

javascript 复制代码
cy.getByTestId('VendorCodeCheckbox-0-test-id')
  .shadow()
  .find('[role=checkbox]')
  .then(checkbox => {
    if (checkbox.get().at(0).ariaChecked !== 'true') {
      checkbox.click()
    }
  })

注意,对于不同的前端框架,寻找组件的逻辑可能不同。

相关推荐
2401_885885044 分钟前
营销推广短信接口集成:结合营销策略实现的API接口动态变量填充方案
前端·python
小李子呢02117 分钟前
前端八股性能优化(2)---回流(重排)和重绘
前端·javascript
程序员buddha39 分钟前
深入理解ES6 Promise
前端·ecmascript·es6
吴声子夜歌44 分钟前
ES6——Module详解
前端·ecmascript·es6
剪刀石头布啊1 小时前
原生form发起表单干了啥
前端
剪刀石头布啊1 小时前
表单校验场景,如何实现页面滚动到报错位置
前端
gyx_这个杀手不太冷静1 小时前
大人工智能时代下前端界面全新开发模式的思考(二)
前端·架构·ai编程
GreenTea2 小时前
AI Agent 评测的下半场:从方法论到落地实践
前端·人工智能·后端
吴声子夜歌2 小时前
Vue3——Vue实例与数据绑定
前端·javascript·vue.js
我是若尘2 小时前
Harness Engineering:2026 年 AI 编程的核心战场
前端·后端·程序员