当前位置: 首页 > 知识库问答 >
问题:

Scenrio大纲的设置和拆卸(cucumber-jvm)

漆雕亮
2023-03-14

但是我只想执行一次,@在场景大纲之前,@在场景大纲之后!在cucumber-JVM中有什么方法可以实现这一点吗?

//@Before (some code that should be executed before scenario outline execution begins)

Scenario outline
....
Examples:
|Header1  | Header2 | ..etc
|Data1    | Data2   |

//@After (some code that should be executed after scenario outline execution ends)

共有1个答案

张承颜
2023-03-14

据我所知,没有直接的方法,但您可以标记您的场景,并使用标记的前和后挂钩作为解决方案

下面是一个例子:

Feature: ExampleTagging
    @DoBeforeScenarioX
    Scenario outline
    ....
    Examples:
    |Header1  | Header2 | ..etc
    |Data1    | Data2   |

然后您可以在Java代码中使用该代码:

@Before("@DoBeforeScenarioX")
public void do_this_before_scenarioX() {....}

@After("@DoBeforeScenarioX")
public void do_this_after_scenarioX() {....}
 类似资料:
  • 我使用Cucumber JVM和Selenium,我想在场景大纲中重用浏览器。为了做到这一点,我希望能够访问@Before和@After挂钩中的场景大纲,这样我就可以知道我是否还在同一个场景大纲中,以及我是否已经到达了场景大纲的最后一行。有办法做到这一点吗?我只看到一种方法来得到这个场景。我可以从场景的名称看出它是场景大纲的一部分,但我看不出有什么方法可以知道我是否在最后一个场景上,从而知道在结束

  • 我的要求是对一组测试进行一些初始化,并在所有测试完成后将其清除。这些测试围绕几个测试类旋转,因为它们之间没有密切的关系,但需要一个通用的初始化。 我正在使用组成套件,并尝试使用自定义扩展来处理预处理和后处理。这不起作用,我不确定JUnit中是否存在合适的解决方案。共享已尝试的示例代码。 套房: 分机: 测试等级1: 测试等级2: 输出: 预期产出:

  • 我在一个步骤后回顾了Spring批处理流/拆分,发现(a)标记的解决方案没有解析,因为拆分无法实现,(b)我的用例不同,因此答案的意图不同。 我还回顾了如何使用spring批处理并行步骤拆分流配置上述用例?,但解决方案是增加并行化,而不是拆分和连接线程。 这似乎是一个足够常见的用例,应该是一个常见问题,但我还没有看到解决方案。 我有一个并行的spring批处理作业,我想在其中添加设置和拆卸步骤。安

  • 我的cucumber小cucumber看起来像这样: 在上面的功能中,有一个背景,它将为两个场景大纲中的每个示例执行。此外,在java实现中,我们已经实现了@After和@Before钩子,它们也将针对每个示例执行。 我们正在使用spring Cumber进行步骤之间的数据注入。 当第一个场景大纲中的所有示例结束时,调用@After实现的方法两次,就会出现问题。当第二次@After同时启动时,第二