【问题标题】:Cypress - not visible element for cmd run赛普拉斯 - cmd 运行的不可见元素
【发布时间】:2020-01-08 00:34:17
【问题描述】:

当我使用 cmd(通过命令 cypress run)开始我的自动化测试时,输入元素时测试总是失败。它说该元素不可见。 但是当我用浏览器开始我的测试时,它总是会通过。

有同样的问题吗?

我无法更改 HTML 代码。

cy.get('#reasonRecommendationByAgent')
.type('Zdůvodnění doporučení zprostředkovatele')
.should('have.value', 'Zdůvodnění doporučení zprostředkovatele')

如果我使用 force:true 则测试失败并显示此错误消息:

感谢您的所有帮助。

【问题讨论】:

  • 当你运行 cypress headed & headless 时,你使用的是同一个浏览器吗?我知道我在使用电子与铬时遇到了问题。不仅如此,有时当我通过命令行运行它时,它会使用不同版本的 cypress,因此也会使用不同版本的浏览器,而不是使用 UI 运行 cypress。
  • 当 'force' 为真后它失败时,看起来该元素不再在 DOM 中了——有什么可能导致它与 DOM 分离吗?

标签: testing automated-tests cypress


【解决方案1】:

发生这种情况是因为它被其他一些元素掩盖了。我已经在我自己的环境中看到了这种情况,并通过简单地添加选项“强制”来解决它。你最终得到的是这样的:

cy.get('#reasonRecommendationByAgent')
  .type('Zdůvodnění doporučení zprostředkovatele', {force: true})
  .should('have.value', 'Zdůvodnění doporučení zprostředkovatele')

【讨论】:

  • 那行不通。如果我使用强制而不是测试失败并显示我附加到头部描述的错误消息
【解决方案2】:

我通过添加一个 should('be.visible') 解决了这个问题:

cy.get('#reasonRecommendationByAgent')
  .should('be.visible')
  .type('Zdůvodnění doporučení zprostředkovatele')
  .should('have.value', 'Zdůvodnění doporučení zprostředkovatele')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2022-01-07
    • 1970-01-01
    相关资源
    最近更新 更多