Cucumber 如何确定当前场景是否为第N个场景?
我正在使用Cucumber 如何确定当前场景是否为第N个场景?,cucumber,cucumber-jvm,Cucumber,Cucumber Jvm,我正在使用场景大纲和示例示例有许多行。例如,10排。我有一个After钩子,在那里我检查场景通过或失败的结果,并将其写入文件。现在我需要在执行最后一行后保存并关闭该文件。如何确定当前场景是否是最后一个场景 一个选项是显式标记最后一个示例,并为该标记设置After hook,如下所示: @others Examples: |input| | abc | | xyz | @last Examples: |input| | pqr | @After("@last") public void afte
场景大纲
和示例
<代码>示例有许多行。例如,10排。我有一个After
钩子,在那里我检查场景通过或失败的结果
,并将其写入文件。现在我需要在执行最后一行后保存并关闭该文件。如何确定当前场景是否是最后一个场景 一个选项是显式标记最后一个示例,并为该标记设置After hook,如下所示:
@others
Examples:
|input|
| abc |
| xyz |
@last
Examples:
|input|
| pqr |
@After("@last")
public void afterScenario() {
}
您可能需要@AfterAll钩子之类的东西,cucumber目前不支持这种方法,但您可以使用这种使用jvm关闭钩子的解决方法:
static void addShutdownHook(WebDriver driver) {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
// DO STUFF LIKE SAVING YOUR FILE
driver.quit();
}
});
}
共享驱动程序示例中包含的完整示例:一个选项是分别标记最后一个示例(比如@last),并使用After(@last)钩子。