如何在Cypress中检查单选按钮是否被选中?
如何在Cypress中检查单选按钮是否被选中?
嗨,我来帮你搞定这个问题!你之前尝试用attr('state')来判断是走偏啦,单选按钮根本没有state这个属性,要判断它是否被选中,得看checked这个核心属性或者元素的实际状态,下面给你几种靠谱的方法:
方法一:直接用Cypress断言(最推荐)
这是最简洁直观的方式,直接用Cypress内置的断言来验证选中状态:
// 检查单选按钮是否已被选中 cy.get('[id=input1]').should('be.checked'); // 检查单选按钮是否未被选中 cy.get('[id=input1]').should('not.be.checked');
方法二:获取状态后自定义逻辑处理
如果你需要像代码里那样做条件判断(比如打印日志),可以用invoke('prop', 'checked')来获取当前的选中状态——这里要用prop而非attr,因为checked是DOM元素的动态属性,attr只能拿到初始值,而prop能获取实时的实际状态:
cy.get('[id=input1]') .invoke('prop', 'checked') .then((isChecked) => { if (isChecked) { console.log('单选按钮已被选中') } else { console.log('单选按钮未被选中') } });
另外要注意哦,你之前看到的“检查单选按钮是否可点击”和“是否被选中”是两个完全不同的状态:判断可点击/可用是用should('be.enabled'),而选中状态是be.checked,别搞混啦~
备注:内容来源于stack exchange,提问作者MasterJoe
相关产品推荐
相关产品推荐

