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

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

相关推荐
kyriewen13 小时前
开源|Image Harvest v1.0.5:AI 智能标签 + Eagle 导出,设计师和开发者的图片工作流神器
前端·javascript·ai编程
wuhen_n13 小时前
LangChain Memory 详解:实现 AI 连续对话不丢失上下文
前端·langchain·ai编程
wuhen_n13 小时前
LangChain Function Call 实战:让 AI 调用自定义工具
前端·langchain·ai编程
DyLatte13 小时前
很多人把坚持,误以为成长
前端·后端·程序员
XZ-07000113 小时前
MySQL-综合应用(Python+Html)
python·mysql·html
yingyima13 小时前
凌晨3点的警报声:定时任务监控与告警的最佳实践
前端
zach13 小时前
React中的兄弟通讯之发布订阅模式
前端·react.js
书中枫叶14 小时前
我用 Vue3 写了一个 Chrome 步骤录制插件:自动截图、本地存储、一键导出教程
前端·vue.js
达达尼昂14 小时前
AI Native 工程实践 : agent 自动化测试
前端·后端·架构
2501_9400417414 小时前
前端工程化命题,覆盖性能/架构/交互
前端·交互