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

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

相关推荐
GDAL几秒前
CSS重置样式表(Reset CSS
前端·css
SpringLament3 分钟前
TanStack Virtual 源码解析:定高/不定高虚拟列表实现原理以及框架无关设计
前端·javascript
猪猪拆迁队4 分钟前
高性能 Package构建系统设计与实现
前端·后端·node.js
用户14436183400975 分钟前
你不知道的JS-上(五)
javascript·程序员
UIUV7 分钟前
JavaScript中instanceof运算符的原理与实现
前端·javascript·代码规范
前端fighter9 分钟前
全栈项目:闲置二手交易系统(一)
前端·vue.js·后端
飞行增长手记14 分钟前
IP协议从跨境到物联网的场景化应用
服务器·前端·网络·安全
我叫张小白。16 分钟前
Vue3 插槽:组件内容分发的灵活机制
前端·javascript·vue.js·前端框架·vue3
Lovely_Ruby23 分钟前
前端er Go-Frame 的学习笔记:实现 to-do 功能(一)
前端·后端
脾气有点小暴29 分钟前
uniapp通用递进式步骤组件
前端·javascript·vue.js·uni-app·uniapp