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

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

相关推荐
zzginfo3 分钟前
javascript 类定义常见注意事项
开发语言·前端·javascript
天下无贼!5 分钟前
【功能实现】基于Vue3+TS实现大文件分片上传
开发语言·javascript·node.js·vue·html5
程序员小寒9 分钟前
JavaScript设计模式(九):工厂模式实现与应用
开发语言·前端·javascript·设计模式
weixin1997010801624 分钟前
《米思米商品详情页前端性能优化实战》
前端·性能优化·php
zhensherlock29 分钟前
Protocol Launcher 系列:Agenda 优雅组织你的想法与日程
javascript·macos·ios·typescript·node.js·mac·ipad
清汤饺子30 分钟前
Cursor + Claude Code 组合使用心得:我为什么不只用一个 AI 编程工具
前端·javascript·后端
GISer_Jing1 小时前
2026年前端AI开发终极指南
前端·人工智能
攀登的牵牛花1 小时前
2026年最危险的,不是不会写代码,而是不会设计 Agent 工作流
前端·agent
LanceJiang1 小时前
设计模式在前端的简易实现与作用
前端·设计模式
代码煮茶1 小时前
Vue3 虚拟列表实战 | 解决长列表性能问题(十万条数据流畅渲染,附原理)
前端·javascript·vue.js