【发布时间】:2026-01-20 05:40:02
【问题描述】:
我们正在尝试为预订应用程序自动化 E2E 测试用例,每个测试用例涉及大约 60 多个步骤。每当最后步骤出现故障时,如果我们选择传统的重试选项,将会非常耗时,因为测试用例将再次从步骤 1 执行。在应用程序上,我们有一些逻辑步骤,可以通过它们以某种方式标记,我们希望通过这些步骤来实现从失败步骤之前的逻辑点恢复测试用例。例如,在 60 个步骤中,假设每第 10 步是一个逻辑点,在该点可以恢复脚本,而不是从第 1 步重试。假设失败出现在第 43 行,那么在预订参考号的帮助下进行测试可以从第 41 步恢复,因为验证已经完成直到第 40 步(第 40 步是一个逻辑结束点)。您可能会建议将测试用例拆分为更小的模块,这对我不起作用,因为它是我们希望在单个 Geb Spec 中拥有的应用程序的 E2E 测试用例。该框架是使用 Geb & Spock 构建的,用于 Web 应用程序自动化。请分享您对我们如何为这种情况构建恢复方案的想法/逻辑。感谢您的支持!
到目前为止,我无法找到解决此类问题的任何方法。
【问题讨论】:
-
不要这样做!首先,修复你的片状集成测试。或者失败真的暴露了你的应用程序中的一些微妙的缺陷或竞争条件。不要轻易接受片状测试。重复掩盖了根本原因,只是掩盖了症状。另外,正如您所说,这样的集成测试很慢,因此您要避免重复。其次,通过提供在任何重要的客户旅程步骤开始集成测试的方法,使您的应用程序更具可测试性。然后你可以将你的大测试分解成更小的测试。 解决问题,不要寻找变通方法!
标签: testing automation spock geb recovery