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

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

相关推荐
皮卡祺q8 小时前
【算法-0】背包问题(三维+二维)
java·javascript·算法
前端爆冲8 小时前
基于SSE实现AI聊天场景的流式输出
前端·ai编程
Bigger8 小时前
mini-cc 技术栈:跟着 Claude Code 先选 TypeScript + React + Ink
前端·ai编程·claude
whuhewei8 小时前
手写Promise
开发语言·javascript·ecmascript
vortex58 小时前
XSS 漏洞深度挖掘与利用:从自动化扫描到账户接管
前端·自动化·xss
光影少年8 小时前
前端浏览器自动化
运维·前端·前端框架·自动化
弹简特8 小时前
【Vue3速成】04-vue3官方库-路由机制
前端·vue·路由
川冰ICE8 小时前
JavaScript入门⑤|数组方法全攻略,map/filter/reduce三剑客
开发语言·javascript·ecmascript
threelab9 小时前
Three.js 抽象艺术着色器效果 | 三维可视化 / AI 提示词
前端·javascript·人工智能·3d·着色器
008爬虫实战录9 小时前
【码上爬】 题十八:模拟大厂加密算法, 堆栈分析找加密点,扣自执行函数,jsdom补环境
开发语言·javascript·ecmascript