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

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

相关推荐
IT_陈寒7 小时前
Vite热更新失效?可能你在用Windows
前端·人工智能·后端
烬羽8 小时前
后端返回的 JSON 字符串,浏览器怎么"看懂"的?——Ajax 全链路拆解
javascript
tedcloud1238 小时前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
xinhuanjieyi8 小时前
html修复游戏种太阳错误
前端·游戏·html
半个落月9 小时前
一个新手用 Bun + Axios 调通 DeepSeek API 的实践记录
javascript
不好听6139 小时前
深入理解链表:线性数据结构的另一面
javascript·数据结构
林希_Rachel_傻希希9 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
小林ixn9 小时前
从 Ajax 到异步编程:JSON 序列化、Event Loop 与 XHR 请求完全解析
javascript
Cache技术分享9 小时前
435. Java 日期时间 API - Clock 灵活获取当前时间
前端·后端
丷丩10 小时前
MapLibre GL JS第47课:添加动画图标
javascript·gis·动画·mapbox·maplibre