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 分钟前
react路由Cannot GET错误
前端·react.js·前端框架·sharp7
少云清11 分钟前
【UI自动化测试】6_web自动化测试 _浏览器操作
前端·web自动化测试
Never_Satisfied14 分钟前
在c#中,抛出异常,并指定其message的值
java·javascript·c#
globaldomain16 分钟前
立海世纪:.com和.net域名哪个更适合你的网站
大数据·前端·人工智能·新媒体运营·国外域名·域名注册
Highcharts.js19 分钟前
什么是散点图?一文学会Highcharts散点图的核心特性与3D扩展应用
javascript·3d·开发文档·散点图·highcharts·图表类型
phltxy1 小时前
Vue Router:从入门到实战
前端·javascript·vue.js
Zhencode1 小时前
Vue3核心运行时之runtime-core
前端·javascript·vue.js
木斯佳1 小时前
前端八股文面经大全:腾讯WXG技术架构前端面试(2025-11-19)·面经深度解析
前端·面试·架构
感性的程序员小王1 小时前
HTTPS页面请求HTTP接口失败?一文讲透Mixed Content
前端·后端
用户600071819102 小时前
【翻译】我竟渐渐迷上了生成器的设计巧思
前端