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()
    }
  })

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

相关推荐
谢亮_vipxieliang7 小时前
JavaScript this 指向完全指南:调用位置决定一切
开发语言·javascript·ecmascript
Eiceblue7 小时前
使用 Python 实现 Excel 行列转置(保留单元格样式)
前端·python·excel
WeiXin_DZbishe7 小时前
基于Node.js的马拉松赛事管理系统的设计与实现-计算机毕设 附源码【课程设计】90211
java·javascript·vue.js·python·php·课程设计
西西学代码7 小时前
像素和颜色之间的转换(Flutter)
前端·javascript·flutter
茶底世界之下7 小时前
羽毛颜色已经很鲜艳,还要继续加色吗?用 Awaking 试一次减饱和
前端·ios·运营
风早爽太7 小时前
Mac 搭建 Vue 开发环境
前端·vue.js
Lank_M7 小时前
Word图片裁剪转HTML失效,转换器各漏读了哪一层
前端
青烟小生8 小时前
前端架构设计实战:从组件思维到系统思维
前端
时间海8718 小时前
对象键清洗之前,先拦住重名
javascript·后端
Amos_Web8 小时前
Rspack 源码解析(二十):Typed Hook 系统如何靠宏生成
前端·rust·前端框架