如何根据元素的值在柏树中编写if-else条件?

发布于 2025-01-19 22:00:20 字数 694 浏览 1 评论 0原文

根据if-condition的元素的价值变化,如何运行此功能?

 assertSwitch(){
    
            cy.get('[data-test="form-switch"]').invoke('attr','value').then(($switchOnOff) =>{
                
            if($switchOnOff == true){
                    cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'true')
            }else{
                    cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'false')
                }
            })
        }

enter image description hereHow can I run this function, according to the value change of element with if-condition?

 assertSwitch(){
    
            cy.get('[data-test="form-switch"]').invoke('attr','value').then(($switchOnOff) =>{
                
            if($switchOnOff == true){
                    cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'true')
            }else{
                    cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'false')
                }
            })
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柒夜笙歌凉 2025-01-26 22:00:20

问题是两个开关都具有相同的数据测试,因此柏树开始变得混乱

cy.get('[data-test="form-switch"]')
  .eq(0)                              // pick one
  .invoke('attr','aria-checked')      // this attr indicates checked state
  .then(($switchOnOff) => {
                
    if($switchOnOff === 'true') {  // note adjustments here

      cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'true')  
    } else {
      cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'false')
    }
})

或所有交换机

cy.get('[data-test="form-switch"]')
  .each(($switchOnOff) => {
    const value = $switchOnOff.attr('aria-checked')
    cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', value)  
})

The problem is both switches have the same data-test, so Cypress starts to get confused

cy.get('[data-test="form-switch"]')
  .eq(0)                              // pick one
  .invoke('attr','aria-checked')      // this attr indicates checked state
  .then(($switchOnOff) => {
                
    if($switchOnOff === 'true') {  // note adjustments here

      cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'true')  
    } else {
      cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', 'false')
    }
})

Or all switches

cy.get('[data-test="form-switch"]')
  .each(($switchOnOff) => {
    const value = $switchOnOff.attr('aria-checked')
    cy.isContain('.item-undefined-switch[data-test="item-undefined-email"]', value)  
})
梦回旧景 2025-01-26 22:00:20

您可以做这样的事情:

cy.get('[data-test="form-switch"]').then(($ele) => {
  if ($ele.attr('val') == 'true') {
    cy.get('button[data-test="form-switch-input"]').should(
      'have.attr',
      'aria-checked',
      'true'
    )
    //Add something here
  } else {
    cy.get('button[data-test="form-switch-input"]').should(
      'have.attr',
      'aria-checked',
      'false'
    )
    //Add something here
  }
})

You can do something like this:

cy.get('[data-test="form-switch"]').then(($ele) => {
  if ($ele.attr('val') == 'true') {
    cy.get('button[data-test="form-switch-input"]').should(
      'have.attr',
      'aria-checked',
      'true'
    )
    //Add something here
  } else {
    cy.get('button[data-test="form-switch-input"]').should(
      'have.attr',
      'aria-checked',
      'false'
    )
    //Add something here
  }
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文