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

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

相关推荐
朝阳58114 小时前
Cesium `Camera.flyTo`:“飞过去“
javascript
NutShell Wang14 小时前
Vite 8.1 深度拆解:Rolldown 统一打包器如何终结前端构建的「双引擎时代」
前端·rust·开源·vite·开发者工具·vibe coding
朱容zr33313314 小时前
请解释“回表”的概念。
java·前端·数据库
软件技术NINI14 小时前
盗墓笔记html+css+js 2页
css·笔记·html
leslie11814 小时前
webpack笔记
前端·webpack
宁风NF14 小时前
JavaScript:内存、垃圾回收、性能优化
开发语言·前端·javascript·学习·性能优化·es6
勾勾圈圈蛋蛋14 小时前
DOM、BOM、DOM操作详解 + 结合Vue响应式关联梳理
前端
ShuiShenHuoLe15 小时前
Go html/template 使用入门
开发语言·golang·html
打妖妖灵滴哪吒15 小时前
IOS模态窗口的作用与设计原则
前端·ui
午安~婉15 小时前
挑战二:博客预览卡片
前端·javascript·html