【问题标题】:Testcafe tests ran by automation servers fail randomly自动化服务器运行的 Testcafe 测试随机失败
【发布时间】:2019-08-27 09:40:24
【问题描述】:

这是不一致的行为,我在 Jenkins 和 GitLab-runner 上都得到了随机结果。在同一台构建机器上运行失败的测试时,一切都很顺利。 (例如,自动化服务器运行时失败的测试,手动运行时通过 - 使用 test.only

在 Firefox 和 Chrome 上尝试了无头模式,但同样的随机性也出现在完整的 UI 中。

首先,我认为由于并发任务,构建机器上存在资源问题,但我通过安排每晚构建来排除这种情况。而且,我什至把速度降到了0.8。

还有其他人遇到过这种行为吗?任何提示将不胜感激。

【问题讨论】:

  • 您是否遇到了一些特定的错误?如果有,是哪一个?任何 TestCafe 更新后是否出现错误?请提供有关您的方案的更多详细信息并分享您的测试代码。此外,请指定您使用的 TestCafe 版本。
  • 您可能通过为此对象执行导入声明在所有测试之间共享一个单例对象。
  • 感谢您的 cmets。错误主要是断言错误,例如:“AssertionError: 预期 '$5998' 与 '$8997' 完全相等”......以及:“无法获取有关节点的信息,因为指定的选择器与 DOM 树中的任何节点都不匹配。” TestCafe v1.1.0,我记得一个月前更新过,希望问题会消失,但没有运气。遵循@TheJames 的意见有所帮助。
  • 谢谢。我没有在测试之间共享任何类单例对象,但我正在使用选择器和我需要的其他硬编码值共享和导入常量 JSON 对象。

标签: testing automated-tests e2e-testing testcafe web-testing


【解决方案1】:

尝试启用quarantine mode并尝试启用skip javascript errors

没有具体的错误信息很难查明原因

【讨论】:

  • 非常感谢您的输入,添加这些参数暂时解决了问题,如果行为仍然存在,我将返回一个简化的测试用例。错误主要是断言错误,例如:“AssertionError: 预期 '$5998' to deeply equal '$8997'” ... 和:“无法获取有关节点的信息,因为指定的选择器与 DOM 树中的任何节点都不匹配。”跨度>
【解决方案2】:

不稳定的测试是一个严重的问题,需要一种缓解策略。非确定性可能会困扰您的 CICD 管道并阻止/延迟开发,直到发现并解决这些问题。在我看来,即使经过大量努力来减少此类有问题的测试,当测试条件达到一定的复杂程度时,片状的测试也是不可避免的。那么,主要目标是适当地管理这些。

一些可能有帮助的措施:

这里is more 讨论这个话题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2020-03-13
    • 2016-01-31
    • 2021-06-03
    相关资源
    最近更新 更多