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

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

相关推荐
无双_Joney12 小时前
[更新迭代 - 1] Nestjs 在24年底更新了啥?(功能篇)
前端·后端·nestjs
在云端易逍遥12 小时前
前端必学的 CSS Grid 布局体系
前端·css
EMT12 小时前
在 Vue 项目中使用 URL Query 保存和恢复搜索条件
javascript·vue.js
ccnocare12 小时前
选择文件夹路径
前端
艾小码12 小时前
还在被超长列表卡到崩溃?3招搞定虚拟滚动,性能直接起飞!
前端·javascript·react.js
闰五月12 小时前
JavaScript作用域与作用域链详解
前端·面试
泉城老铁12 小时前
idea 优化卡顿
前端·后端·敏捷开发
前端康师傅12 小时前
JavaScript 作用域常见问题及解决方案
前端·javascript
司宸12 小时前
Prompt结构化输出:从入门到精通的系统指南
前端