【问题标题】:If a button is disabled then i want to skip clicking it, and if its enabled i want to click in using cypress如果一个按钮被禁用,那么我想跳过点击它,如果它启用我想使用 cypress 点击
【发布时间】:2020-11-18 08:58:04
【问题描述】:

我尝试了下面的代码,但它仍然试图点击按钮,即使它被禁用并且测试失败了。

cy.get('button').should('not.be.disabled').click()<br>
cy.get('button').should('be.enabled').click()

【问题讨论】:

  • 嘿@ashmax,你能检查一下这是否适合你吗cy.get('button').then(($btn) =&gt; { if ($btn.is(":disabled")) { return } else { cy.wrap($btn).click() } })
  • 你能分享一下失败吗?
  • @AlapanDas 你的代码可以工作了谢谢 :)
  • @ashmax 乐于助人。我已将此添加为答案,因此它也可以帮助其他人。

标签: button pagination click conditional-statements cypress


【解决方案1】:

您可以使用jQuery disabled-selector 来实现此目的。您的代码应如下所示:

cy.get('button').then(($btn) => {
  if ($btn.is(":disabled")) {
    return
  } else {
    cy.wrap($btn).click()
  }
})

【讨论】:

    【解决方案2】:

    我建议invoke attribute

    cy.get('button')
        .invoke('attr', 'disabled')
        .then(disabled =>{
            disabled ? cy.log('buttonIsDiabled') : cy.get('button').click()
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-05
      • 2017-09-10
      • 2019-06-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      相关资源
      最近更新 更多