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

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

相关推荐
心之语歌2 分钟前
前端刷新处理数据的几种方式
前端
FlyWIHTSKY4 分钟前
Vue3 插槽(Slot)使用
前端·javascript·vue.js
血玥珏10 分钟前
血玥珏-BMP名字图片生成器
前端·html
ZTLJQ14 分钟前
构建网页的三剑客:HTML, CSS, JavaScript 完全解析
javascript·css·html
weixin1997010801616 分钟前
《QX 游戏商城商品详情页前端性能优化实战》
前端·游戏·性能优化
方也_arkling18 分钟前
【Vue-Day12】Vue组件的生命周期
前端·javascript·vue.js
森叶18 分钟前
深入解析:Claude 桌面应用与 Chrome 扩展的 Native Messaging 通信机制
前端·chrome
苏武难飞19 分钟前
分享一个THREE.JS中无限滚动的技巧
前端·javascript·css
bitbrowser22 分钟前
2026 PC端多Chrome账号管理指南:从日常切换到防关联实战
前端·chrome