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

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

相关推荐
请来次降维打击!!!38 分钟前
优选算法系列(5.位运算)
java·前端·c++·算法
難釋懷1 小时前
JavaScript基础-移动端常见特效
开发语言·前端·javascript
还是鼠鼠1 小时前
Node.js全局生效的中间件
javascript·vscode·中间件·node.js·json·express
自动花钱机2 小时前
WebUI问题总结
前端·javascript·bootstrap·css3·html5
bst@微胖子2 小时前
Flutter项目之登录注册功能实现
开发语言·javascript·flutter
拉不动的猪2 小时前
简单回顾下pc端与mobile端的适配问题
前端·javascript·面试
拉不动的猪2 小时前
刷刷题49(react中几个常见的性能优化问题)
前端·react.js·面试
qp2 小时前
21.OpenCV获取图像轮廓信息
javascript·opencv·webpack
snowfoootball2 小时前
基于 Ollama DeepSeek、Dify RAG 和 Fay 框架的高考咨询 AI 交互系统项目方案
前端·人工智能·后端·python·深度学习·高考
烛阴3 小时前
深入浅出:JavaScript ArrayBuffer 的使用与应用
前端·javascript