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

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

相关推荐
silvamux_5 分钟前
4款新模型商务邮件翻译横评:0.98到0.46
android·java·javascript
雪芽蓝域zzs8 分钟前
JS 项目转 TS 项目(Vue3 + 若依这类后台项目)完整改造清单
前端·vue.js
东鹏特饮15 分钟前
全屏黑客终端(自动入侵 + 进度条)
html·恶搞
定栓18 分钟前
Webpack迁到Vite第四节:SVG 图标系统
前端·webpack·node.js
燕落南枝23 分钟前
HTML 学习笔记:从基础到音频标签
笔记·学习·html
Dovis(誓平步青云)26 分钟前
车辆进入隧道后信号断开,座舱旅程怎样补回事件
java·开发语言·前端·数据库·电脑
定栓33 分钟前
Webpack迁到Vite第六节:构建配置详解(vite.config.js)
前端·javascript·webpack
风骏时光牛马43 分钟前
从零到精通AI全栈学习路线
前端
Autumn_ing9 小时前
Design.md生成UI怎么验收?举例运营后台的颜色、状态和数据核对
前端·ui·ai·设计系统·paico·ai生成ui·design.md