如果一个按钮被禁用,那么我想跳过单击它,如果它被启用,我想使用 cypress 单击

ash*_*max 4 pagination click button conditional-statements cypress

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

cy.get('button').should('not.be.disabled').click()<br>
cy.get('button').should('be.enabled').click()
Run Code Online (Sandbox Code Playgroud)

Ala*_*Das 11

您可以使用jQuery 禁用选择器来实现此目的。您的代码应如下所示:

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


小智 5

我建议调用属性

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