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

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

相关推荐
小邓吖16 分钟前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
南风知我意95722 分钟前
【前端面试2】基础面试(杂项)
前端·面试·职场和发展
LJianK11 小时前
BUG: Uncaught Error: [DecimalError] Invalid argument: .0
前端
2601_949613021 小时前
flutter_for_openharmony家庭药箱管理app实战+用药知识详情实现
android·javascript·flutter
No Silver Bullet1 小时前
Nginx 内存不足对Web 应用的影响分析
运维·前端·nginx
一起养小猫1 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
weixin_395448911 小时前
main.c_cursor_0130
前端·网络·算法
C澒1 小时前
SGW 接入层运维实战:配置查看 + 监控分析 + 日志排查
前端·安全·运维开发
德育处主任Pro2 小时前
『NAS』在群晖部署一款太空策略游戏-ogame-vue-ts
前端·vue.js·游戏
ziqi5222 小时前
第二十五天笔记
前端·chrome·笔记