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

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

相关推荐
笑笑先生1 分钟前
从接口搬运工到研发控制平面,BFF 到底在解决什么?
前端·架构·node.js
霪霖笙箫2 分钟前
「JS全栈AI Agent学习」二、反思、工具使用、规划——让 Agent 从"执行者"变成"自主完成者"
前端·agent·ai编程
前端缘梦3 分钟前
Next.js全栈项目部署全流程|从0到1解决数据库、WebSocket、图片上传所有坑
前端·全栈·next.js
www_stdio4 分钟前
🚀 从 Event Loop 到 AI Agent:我的 Node.js 全栈进阶之路
前端·node.js·nestjs
www_stdio5 分钟前
拒绝做Git“蜘蛛网”制造者!从分支管理到Rebase,带你走一遍标准开发流
前端·github
Moment6 分钟前
面试爱问底层时,我是怎么读大型前端源码的❓❓❓
前端·javascript·面试
long_songs13 分钟前
纯前端 PNG/JPG 转 PDF 工具(无需服务器,源码分享)
服务器·前端·pdf
rongDang23 分钟前
浏览器模拟发送POST请求
前端·javascript
清汤饺子28 分钟前
OpenSpec:让 AI 编程从"开盲盒"到"先签字再干活"
前端·javascript·后端
用户693717500138428 分钟前
太钻 Android 了,在电鸭刷私活把我自己刷清醒了
android·前端·github