代码之家  ›  专栏  ›  技术社区  ›  rb612

Java Selenium CI构建的运行速度比本地的快得多?

  •  0
  • rb612  · 技术社区  · 7 年前

    因此,只有当UI测试作为CI的一部分运行时,我才会遇到StaleElementReferenceException,因此,与在Bamboo上运行时相比,在本地复制几乎是不可能的我最后看到 this answer 通过查看在ci构建中运行速度比在intellij上运行时快得多的计时日志,可以看出它没有给页面足够的时间来完全加载结果。既然我已经弄清楚了这一部分,我不想问解决方案,我想知道这是否是一个有效的声明,以及为什么它会以这种方式执行,以及如何进行调试来找出问题的根源。我的本地maven构建实际上并不比intellij运行快多少,但不知怎么的,它在bamboo上要快得多。

    对此有何解释,以及如何在本地重现错误?当某些dom子元素发生更改时,我一直试图在chrome中设置一个断点,但我无法确定元素变旧的时间。我已经运行了IntelliJ的调试器,我将查找一个元素,存储它,逐步检查Chrome中的DOM更改,每次都检查它是否违背了关于如何更好地调试/复制的任何建议,以及如果CI构建运行得更快,我是否走上了正确的轨道?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Arnon Axelrod    7 年前

    至于速度,可能只是ci机器比你的快。

    但这无助于调查StaleElementReferenceException的根本原因为此,您应该研究异常的堆栈跟踪和代码,以了解导致此异常的行和原因根据需要添加日志条目、屏幕截图和页面源以获取更多上下文,并咨询开发人员,了解从dom中删除相关元素的可能原因(这是导致staleElementReferenceException的原因)。

    如果要尝试使用解决方案进行调试,而不必每次提交更改并运行新的生成,则可以登录到生成计算机并从其命令行运行测试以查看其行为。