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

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

相关推荐
掘金酱6 分钟前
小册上新|玩🦐吗?ai 编程全栈指南了解一下?
前端·人工智能·ai编程
小小小小宇23 分钟前
富文本编辑器知识体系(一)
前端
发现一只大呆瓜35 分钟前
深度拆解 fetch-event-source库实现原理
前端·javascript·面试
2601_9534656137 分钟前
HLS.js 原生开发!m3u8live.cn打造最贴合项目的 M3U8 在线播放器
开发语言·前端·javascript·python·json·ecmascript·前端开发工具
前端Hardy42 分钟前
为什么资深前端都在悄悄学 WebAssembly?
前端·javascript·面试
发现一只大呆瓜43 分钟前
SSE 流式传输:中断超时处理
前端·javascript·面试
李剑一1 小时前
别再瞎写电子围栏了!这2种动态效果,科技感直接拉满,源码直接抄走!
前端·vue.js·cesium
木易士心1 小时前
从 MVP 到千万级并发:AI 在前后端开发中的差异化落地指南
前端·后端
葡萄城技术团队2 小时前
字体与打印:前端开发最常见的三个“为什么”
前端
王夏奇2 小时前
python中的深浅拷贝和上下文管理器
java·服务器·前端