我正在使用Selenium-Cucumber-Java框架进行自动化。 我需要以某种方式限制我的方案的运行时长,以使任何方案最多需要30分钟,如果花费的时间超过该时间,则该方案将失败。
我在SO中找到了这个答案,这有助于使步骤超时。 Cucumber Stopping Execution after Time in Steps
但是我不想更改所有现有步骤以包括此超时。 有没有办法为我的所有步骤提供默认超时? 还是有办法在方案级别配置超时?
答案 0 :(得分:1)
您正在尝试结合两种不同的东西。 30分钟后终止测试,如果测试持续时间为30分钟或更长时间,则测试失败。前者是不可能实现的,后者很容易使用@Before
和@After
钩子来实现。
您在前钩中设置开始时间,并在后钩中检查总持续时间。如果花费太长时间,则引发异常。
答案 1 :(得分:1)
我在E2EWorld中添加了此内容。
import { setDefaultTimeout } from 'cucumber';
const DEFAULT_TIMEOUT = 10000;
setDefaultTimeout(DEFAULT_TIMEOUT);