我是cypress的新手,正在尝试几种不同的方法来获取复选框属性...
checkBox().should('have.prop', 'checked')
checkBox().its('checked').should('exist')
第一行工作正常,但我希望第二行也能通过,但得到“预期存在未定义”响应。
谢谢
答案 0 :(得分:0)
我认为,假设checkBox()函数返回 cy.get('。checkbox')
checkBox().its('checked').should('exist')
失败,因为checkBox()不返回仅包含属性的对象。它返回整个元素(我认为是一个数组)。因此您不能直接在checkbox()上使用它(“已选中”)。
无论如何,要完成您希望做的事情,可以使用几种方法,
使用 invoke('attr','checked')
checkBox().invoke('attr', 'checked')
.should('exist')
使用getAttribute js函数并期望chai断言
checkBox().then($el => {
expect($el[0].getAttribute('checked')).to.exist;
})
在js中使用属性,在cypress中使用(包装)。
注意:如前所述,您不能在cy.get()上直接使用它。您需要从对象中提取属性并使用cy.wrap()
checkBox().then($el => {
cy.wrap($el[0].attributes)
.its('checked')
.should('exist')
})
您可以使用任何一种方法,但是我建议您使用第一种方法。
欢呼。希望对您有所帮助。