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

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

相关推荐
kyriewen9 小时前
别再乱用useEffect了——你写的10个里有8个不该存在
前端·javascript·react.js
Ivanqhz9 小时前
Rust &‘static str浅析
java·前端·javascript·rust
IT_陈寒9 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端
颜酱9 小时前
05 | 召回前置准备:根据业务数据库生成各数据库(读取配置阶段)
前端·人工智能·后端
zandy101110 小时前
衡石 Agentic BI的ReAct 推理框架在 Agentic BI 中的工程化实践
前端·javascript·react.js
罗超驿10 小时前
JavaEE进阶之路:从Web架构原理到HTML标签全解析
前端·html·web·javaee
西安小哥10 小时前
从前端到AI工程师:一场跨越鸿沟的真实蜕变之旅
前端
Prince41810 小时前
侧边栏收起缩放适配方案
前端
用户77833661321110 小时前
serpbase + Cloudflare R2 边缘持久化实战
前端·人工智能
郝亚军10 小时前
webstorm如何创建vue 3.js
javascript·vue.js·webstorm