【问题标题】:Is there a recommended debugging strategy for E2E automation tests?是否有推荐的端到端自动化测试调试策略?
【发布时间】:2020-04-21 06:11:35
【问题描述】:

调试大型 E2E 测试的最佳优雅方法是什么?

我目前正在使用 TestCafe 自动化框架。我面临多个不稳定且需要修复的测试。

问题在于,每次我在测试代码中修改某些内容时,我都需要从头开始运行整个测试,以查看新更新是否成功。

我想听听有关如何在不失去理智的情况下调试 E2E 测试的策略的想法。

当前调试方法:

  • 使用内置的TestCafe 机制在代码中的问题区域进行调试,并尝试注释掉该行之前的所有内容。 但这确实不是最好的方法。
  • 当有用户凭据、url 等先决条件数据时。我在 debug() 之前再次手动声明这些数据。

PS:我知道测试应该尽可能集中并且相对较小,但这就是我们现在所拥有的。

提前致谢

【问题讨论】:

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


    【解决方案1】:

    你可以尝试使用flag

    --debug-on-fail
    

    这会在测试失败时暂停测试,并允许您查看测试页面并确定失败的原因。 也可以使用test.only 来指定只有特定的测试或夹具应该运行,而所有其他的都应该被跳过 https://devexpress.github.io/testcafe/documentation/using-testcafe/command-line-interface.html#--debug-on-fail

    【讨论】:

    • 谢谢,@VysakhMohan,我知道并使用了提到的调试 CLI 关键字。 --debug-on-fail 但我实际上正在寻找一种不同的方法来调试大型测试(每个测试大约 300 行代码)。目前,我正在评论测试开始的大部分内容,以跳过所有内容并准确到达有问题的行
    • @teslaTanch,您能否解释一下为什么您需要评论大部分测试?它将破坏测试执行。您是否尝试在一个测试中执行多个测试用例?如果是这样,最好通过 beforeEach 钩子将测试拆分为更小的测试并执行设置操作。
    【解决方案2】:

    您可以使用 takeScreenshot 操作在测试期间捕获应用程序的现有状态。 Test Café 将屏幕截图存储在屏幕截图子目录中,并使用时间戳命名文件。或者,您可以添加 takeOnFails 命令行标志以在测试失败时自动捕获屏幕,因此在失败点。 另一种选择是减慢测试速度,以便更容易观察它何时运行。您可以使用 - speed 命令行标志来调整速度。 1 是最快的速度,0.01 是最慢的。然后你可以使用 -video 命令行标志记录测试运行,但你需要为此设置 FFmpeg。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多