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

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

相关推荐
C_心欲无痕12 分钟前
使用 XLSX.js 导出 Excel 文件
开发语言·javascript·excel
踩着两条虫17 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(七):双向代码转换之 Vue源码到DSL解析
前端·vue.js·ai编程
专业流量卡18 分钟前
用ai去看源码
前端·react.js
踩着两条虫20 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(六):双向代码转换之DSL到Vue代码生成
前端·vue.js·ai编程
Wect20 分钟前
React 中的双缓存 Fiber 树机制
前端·react.js·面试
天才熊猫君20 分钟前
Vue 3 中 Watch 的陷阱:为什么异步操作后创建的监听会泄漏?
前端·javascript
梵得儿SHI21 分钟前
Vue3 生态工具实战进阶:API 请求封装 + 样式解决方案全攻略(Axios/Sass/CSS Modules)
前端·css·vue3·sass·api请求·样式解决方案·组合式api管理
有梦想的咸鱼还是咸鱼吗22 分钟前
前端必会|防抖与节流从原理到实战,解决90%高频事件卡顿问题
前端
用户57573033462423 分钟前
深入 JavaScript 内存机制:从栈与堆到闭包的底层原理
javascript
阿诺木24 分钟前
Node.js 局域网设备发现:mDNS、UDP 广播和子网扫描
前端