【问题标题】:E2E test passed the local run but failed in Jenkins (protractor and jasmine 2)E2E测试通过本地运行但在Jenkins中失败(量角器和茉莉花2)
【发布时间】:2017-01-16 22:37:19
【问题描述】:

我们已将 e2e 测试与 Jenkins 系统集成。几周以来,该测试在本地和 Jenkins(作为构建管道的一部分)都成功运行。

在 Sprint 结束时,我修改了脚本以反映 Sprint 更改并确保它在本地通过。然后,我将更改与 master 合并。现在,从 Jenkins 运行的 e2e 100% 的时间都失败了,而当我在本地连接到 QA 环境时没有问题。

我得到的错误是 - 元素在点 (x, y) 处不可点击,我无法在本地重现。

服务器没有真正的屏幕,所以我不能出去看看发生了什么。分辨率完美匹配。我有其他人在本地运行这个测试,没有问题。

什么可能导致这些故障,我该如何解决这个问题?

感谢您的帮助!

【问题讨论】:

  • 甚至,我也曾多次面临同样的情况。因此,您需要做的是,尝试对失败的元素使用不同的定位器策略,并在您认为可能失败的地方实施使用 protractor.ExpectedConditions.visibilityOf(ele) 的脚本。
  • 您使用的是 phantomjs 还是 chrome headless ?我建议使用 scrollTo(x,y) 看看是否有帮助,有时我遇到了这个问题。

标签: selenium testing jenkins automation protractor


【解决方案1】:

这是一个来自 1000 英尺 的问题,很难确定问题的确切位置,但我列出了一些可能对您有所帮助的可能原因/调试提示

1.您从源代码存储库中的签出策略是什么?检查作业工作区,它应该有最新的代码,并检查它是否确实是最新的。 可能将作业配置为始终选择新版本而不是“更新”

2.根据您正在使用的测试框架添加报告器,尤其是提供屏幕截图的测试框架。更多详情请参考我的blog -

3.从 Jenkins 控制台报告中检查错误的堆栈跟踪并验证确切的触发点

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多