检查"q-input"元素是否处于错误状态的简单方法是什么?



我有一个具有data-cy="inputEmail"属性的qq-input

是否有简单的方法来检查q-input是否处于错误状态?

data-cy支撑连接到本机input元素和它看起来像的唯一方法是使用一些相对复杂的css选择器,例如通过检查如果输入的母公司的母公司text-negative类?

理想情况下,从端到端角度来看,您希望测试用户看到的内容,是否存在错误消息

cy.get('[data-cy="inputEmail"]')
.parent('.q-input')
.should('contain', 'must be a valid email')

如果你看一下DOM,输入本身没有任何变化。

那么假设在错误状态下text-negative类被添加到元素中,那么您可以断言该类的存在,如:

cy.get('q-input selector').should('have.class', 'text-negative')