如何用cypress获取radio输入的value属性?

问题描述 投票:0回答:2

我有一个无线电元素

<input type="radio" name="gender" value="male" />

下面是我的赛普拉斯代码

cy.getAllByRole("radio").first().click()

如何获取radio元素的value属性? 像这样的东西

const radioValue = cy.getAllByRole("radio").first().getValue() //"male"

javascript jquery cypress e2e-testing cypress-testing-library
2个回答
2
投票

你可以试试这个:

cy.getAllByRole('radio')
  .first()
  .invoke('val')
  .then((val) => {
    cy.log(val) //logs male
  })

0
投票

为了明确起见,

value="male"
是一个属性,所以你可以使用

cy.getAllByRole('radio')
  .first()
  .invoke('attr')
  .should('eq', 'male')           // assert it
  .then(value => cy.log(value))   // or pass it down the chain

命令

.invoke('val')
正在获取 属性,并且仅适用于 selected 单选选项,默认情况下是第一个选项。

如果你尝试第二个选项,它会失败。

© www.soinside.com 2019 - 2024. All rights reserved.