javascript - 为什么 Web 元素会随机抛出带有 TimedOut 原因的 CypressError?

标签 javascript automated-tests cypress

在我的脚本中,我尝试使用以下语法找到并单击许多文档链接之一:

cy.wait(3000); cy.get('a[href^="/articleDetail/"]').first().click();

我收到此错误:

CypressError: Timed out retrying: Expected to find element: 'a[href^="/articleDetail/"] but never found it'

问题是这种情况只发生几次,而不是每次都发生。就像5次中3次一样。我该如何解决这个问题?

最佳答案

通过 Selector Playground 进行测试(正如 N. 建议的那样)是一个很好的步骤。您还可以做的是研究 Cypress 在出现故障时生成的屏幕截图。这显示了故障发生时应用程序的确切状态。这通常可以很好地提示问题。

此外,您还可以尝试将等待设置为一个荒谬的值,例如10000。如果 Cypress 在这种情况下可以找到该元素,则应用程序速度很慢,因此 Cypress 等待的时间不够长。

关于javascript - 为什么 Web 元素会随机抛出带有 TimedOut 原因的 CypressError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661864/

相关文章:

javascript - Chrome 中的单个应用程序

testing - 编码的 UI 和测试 Web 应用程序的旧方法

python - 由于 __init__ 构造函数而产生的 Pytest 集合警告

Node.js 编程工作流程 - 测试、代码、测试

html - 如何单击阴影内的按钮 Cypress.io

cypress - Jenkins 在运行 cypress 测试时给出 "The cypress npm package is installed, but the Cypress binary is missing."错误

javascript - 将页面加载和卸载到带有导航列表的 Div 中

Javascript重置数组内的对象

javascript - 依赖下拉列表不显示选项

integration-testing - Cypress click() 失败,因为该元素在迭代中与 DOM 分离