cypress - 如何使用 Cypress 比较两个 DOM 元素?
问题描述
我正在尝试检查一个contenteditable
元素是否被聚焦(它有闪烁的插入符号),但这不起作用:
cy.get('span[contenteditable]').then($span => {
cy.focused().then($focused => {
expect($focused).to.eql($span)
}
}
我应该怎么做?
解决方案
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 答案。
推荐阅读
- symfony - 如何在 Symfony4.3 中安装 HWIOAuthBundle?
- javascript - 为什么我的可折叠按钮不折叠?
- javascript - Botium - 需要帮助来配置 Amazon Alexa 的规范文件
- powershell - 如何通过 Powershell 查询上次登录日期
- amazon-web-services - 如何使用 cloudformation 模板传递 aws-lambda 函数名称以生成 cloudwatch 警报
- google-apps-script - 如何使用 Google Apps 脚本替换多个 Google 文档中超链接中的 URL
- c# - 在 Audit.NET 中审计 n 到 m 关系(DB 优先)
- jupyter-notebook - 在命令 biogeme = bio.BIOGEME(database,logprob) 之后出错
- idris - How to convince the typechecker that the types in the where clause match the toplevel type?
- angular - 如果输入为空,如何将占位符设置为有效值