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

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

相关推荐
布鲁飞丝19 小时前
从零实现富文本编辑器#-浏览器选区与编辑器选区模型同步
java·前端·编辑器
写不来代码的草莓熊19 小时前
Cesium 地图交互绘制圆形、多边形
前端·javascript·地图
weixin_4277716119 小时前
前端版本检测
前端
禅思院20 小时前
流式 Markdown 渲染完全指南【引子】
前端·架构·前端框架
JackSparrow41420 小时前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全
IMPYLH20 小时前
HTML 的 <em> 元素
java·前端·html
看昭奚恤哭21 小时前
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 magic-admin , 开源出来!
前端·vue.js·开源
名为沙丁鱼的猫7291 天前
【审计日志组件实践复盘】前端工程化 + 后端DDD架构(AOP切面拦截日志) + MBG
前端·架构
xqqxqxxq1 天前
AI智能旅游规划系统 - 前端技术笔记
前端·笔记·旅游
陈随易1 天前
bm2,MoonBit实现的pm2替代品
前端·后端·程序员