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

在特定特征之前/之后执行cucumber步骤

陈夜洛
2023-03-14

我想为每个特定的功能文件指定特定的设置和拆卸步骤。我已经看到了允许代码在每个场景之前执行的钩子,以及在每个功能之前执行代码的钩子。但是我想指定代码在所有场景为一个特定功能运行之前和之后运行一次。

这有可能吗?

共有3个答案

杨豪
2023-03-14

试试这个 :

在要素文件中:

@tagToIdentifyThatBeginAfterShouldRunForThisFeatureOnly
Feature : My new feature ....

在Stepdefinitions.java:

@Before("@tagToIdentifyThatBeginAfterShouldRunForThisFeatureOnly")
public void testStart() throws Throwable {
}

@After("@tagToIdentifyThatBeginAfterShouldRunForThisFeatureOnly")
public void testStart() throws Throwable {
}
双子民
2023-03-14

如果您使用jUnit来运行测试,则是如此。我们使用注释来创建一个单元测试类和一个单独的步骤类。标准的@之前的东西放在步骤类中,但@BeforeClass注释可以在主单元测试类中使用:

@RunWith(Cucumber.class)
@Cucumber.Options(format = {"json", "<the report file"},
    features = {"<the feature file>"},
    strict = false,
    glue = {"<package with steps classes"})
public class SomeTestIT {
    @BeforeClass
    public static void setUp(){
       ...
    }

    @AfterClass
    public static void tearDown(){
       ...
    }
}
怀浩大
2023-03-14

你使用cucumber-jvm吗?我找到了一篇符合您要求的文章。

http://zsoltfabok.com/blog/2012/09/cucumber-jvm-hooks/

基本上,不要使用JUnit@BeforeClass,@AfterClass,因为他们不知道Cucumber Hook Tags。您可能希望 Init 和 Teardown 方法仅针对某些方案运行,对吗?

 类似资料:
  • 问题内容: 我想为每个特定功能文件指定某些设置和拆卸步骤。我已经看到了允许在每个场景之前执行代码的钩子,并且允许在每个功能之前执行代码的钩子,但是我想指定代码在针对一个特定功能的所有场景下运行之前和之后运行一次。 这可能吗? 问题答案: 你用黄瓜jvm吗?我找到了适合您要求的文章。 http://zsoltfabok.com/blog/2012/09/cucumber-jvm- hooks/ 基本

  • 问题内容: 假设我有以下HTML: 和这个CSS: 现在想象一下,我想将其分为三列,相当于在第三列之后注入a 。 (实际上,这样做在语义和语法上都是无效的。) 我知道如何在CSS中选择第三个,但是如何在它之后强制换行呢?这不起作用: 我也知道使用代替可以实现这种特殊情况,但是我对使用的解决方案不感兴趣。我也知道对于固定宽度的块,可以通过将父对象的宽度设置为该宽度的3倍来实现。我对此解决方案不感兴趣

  • 问题内容: 假设我有以下HTML: 和这个CSS: 现在想象一下,我想将其分为三列,相当于在第三列之后注入a 。 (实际上,这样做在语义和语法上都是无效的。) 我知道如何在CSS中选择第三个,但是如何在它之后强制换行呢?这不起作用: 我也知道使用代替可以实现这种特殊情况,但是我对使用的解决方案不感兴趣。我也知道,对于固定宽度的块,可以通过将父对象的宽度设置为该宽度的3倍来实现。我对此解决方案不感兴

  • 问题内容: 我在src / test / resources / feature /中有以下功能文件(单独的功能文件),我想并行运行它们。就像:一个功能文件必须在chrome中执行,而另一个功能文件必须在firefox中执行,如@Tags名称所述。 有人可以帮助我实现这一点吗?我使用的是cumul-java 1.2.2版本,并且使用AbstractTestNGCucumberTests作为运行程序

  • 使用Cucumber,我们创建了由不同场景组成的不同功能文件。我们记住的一件事是,每个场景都独立于所有其他场景。 问:我们可以对所有的特征文件或场景进行并行执行吗?

  • 我已经写了我的firsy cucumber特征文件。当我将功能文件作为Cucumber功能运行时,会出现以下错误 “警告:cucumber-jvm的--format选项不推荐使用。请改用--plugin。”-我在我的@CucumberOptions of runner类中使用了“plugin”,但仍然得到相同的错误 场景:验证登录页面#c:/selenium/regressiontest/modu