You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cypress获取单选框(radio)输入框的value属性值?

获取Cypress中单选框的value属性值

Cypress没有内置的getValue()方法,而且它是异步运行的,不能直接同步赋值变量,你可以通过以下几种方式获取单选框的value属性:

方式1:用.invoke('attr', 'value')配合.then()

这是最常用的方式,通过invoke调用DOM元素的attr方法获取属性:

cy.getAllByRole("radio").first().invoke('attr', 'value').then(radioValue => {
  console.log(radioValue); // 输出"male"
  // 在这里可以使用radioValue执行后续逻辑
});

方式2:用.prop('value')获取

对于input元素,也可以通过prop()方法直接获取value属性,效果和上面一致:

cy.getAllByRole("radio").first().prop('value').then(radioValue => {
  console.log(radioValue);
});

注意点

  • 不要尝试直接写const radioValue = cy.getAllByRole("radio").first().invoke('attr', 'value'),因为Cypress命令返回的是链式操作对象,不是实际的属性值,必须在.then()回调里才能拿到真实的value。
  • 如果需要在多个测试步骤中复用这个值,可以把它存为Cypress别名:
// 存储别名
cy.getAllByRole("radio").first().invoke('attr', 'value').as('radioValue');

// 后续使用别名
cy.get('@radioValue').then(radioValue => {
  // 这里使用radioValue做操作
});

内容的提问来源于stack exchange,提问作者Rahul Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 04:10:27