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

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

相关推荐
逛逛GitHub14 小时前
我把公众号文章导入了腾讯 ima,可以对话找开源项目了。
前端·github
Можно14 小时前
深入理解 JavaScript 函数:分类、特性与实战应用
开发语言·javascript
lionliu051914 小时前
JavaScript 变量声明最佳实践
前端·javascript·vue.js
源去_云走14 小时前
自建 Iconfy API 服务:解决国内访问不稳定问题
前端·容器·npm·node.js
AAA阿giao14 小时前
从零开始学 React:用搭积木的方式构建你的第一个网页!
前端·javascript·学习·react.js·前端框架·vite·jsx
遇到困难睡大觉哈哈15 小时前
Harmony OS Web 组件:如何在新窗口中打开网页(实战分享)
前端·华为·harmonyos
你脸上有BUG15 小时前
【工程化】前端打包时间优化
前端
TeleostNaCl15 小时前
Google Chrome 浏览器历史记录的存储位置
前端·chrome·经验分享
大模型教程15 小时前
前端可以转型AI工程师吗?那可太能了...
前端·llm·agent
转转技术团队15 小时前
前端开发应该了解的浏览器背后的黑科技
前端