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

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

相关推荐
万少7 小时前
我把 Kimi 接进微信,几分钟做了个随手出图助手
前端
xiaofeichaichai7 小时前
网络请求与实时通道
前端·网络
kTR2hD1qb7 小时前
从 Responses API 到 Chat Completions:一个模型网关的设计复盘
linux·前端
kyriewen9 小时前
浏览器缓存最强攻略:强缓存、协商缓存、CDN、更新策略,一篇搞定
前端·面试·浏览器
持敬chijing9 小时前
Web渗透之SQL注入-联合查询注入-注入点数据类型判断
前端·sql·安全·web安全·网络安全·安全威胁分析
LIUAWEIO9 小时前
CSS 让鼠标呈现手型,鼠标悬浮变小手
css·html·css3·html5
卷帘依旧10 小时前
Web3前端一面
前端
古韵10 小时前
告别手写分页逻辑:usePagination 从 50 行到 3 行
java·前端
小村儿10 小时前
连载12- Cluade code 的MCP 到底还用不用
前端·后端·ai编程
IT_陈寒10 小时前
Vite静态资源引用差点把我逼疯,原来要这样处理
前端·人工智能·后端