首页 > 解决方案 > 如何使用 Cypress 比较两个 DOM 元素?

问题描述

我正在尝试检查一个contenteditable元素是否被聚焦(它有闪烁的插入符号),但这不起作用:

cy.get('span[contenteditable]').then($span => {
    cy.focused().then($focused => {
        expect($focused).to.eql($span)
    }
}

我应该怎么做?

标签: cypress

解决方案


Using.then()会给你一个由 . 包裹的元素jQuery。包装器不相等,但元素是:

cy.get('span[contenteditable]').should($span => {
    cy.focused().should($focused => {
        expect($focused[0]).to.eql($span[0]);
    }
}

我也换成.then().should(). .should()类似于.then(),除了它将重试任何包含的断言,直到它们成功或超时。

上面的代码改编自这个 jQuery 答案


推荐阅读