宁静-bdd与黄瓜功能钩

时间:2017-05-23 13:45:02

标签: selenium-webdriver cucumber-jvm serenity-bdd cucumber-serenity

我正在使用Serenity-BDD和黄瓜,我想每个特征文件只运行一次。看起来黄瓜此刻并不支持这一点。我想知道宁静是否有一些解决方法。

我也试过在测试套件类中使用JUnit @BeforeClass,@ AfterClass钩子,但是2个注释需要静态方法,那时我无法访问serenity页面对象方法(没有注入实例)时间点。)

2 个答案:

答案 0 :(得分:2)

您可以尝试设置一个静态全局标志,以确保before方法只运行一次。

使用标记设置要素文件。

@RunOnce
Feature: Run Once

在stepdefinition中使用以下钩子。

    private static boolean onceFlag = true;

    @Before(value="@RunOnce")
    public void beforeOnce(){

        if(onceFlag) {
            onceFlag = false;

            //Your code to write once per feature file

        }
    }

答案 1 :(得分:0)

您可以尝试实现 net.thucydides.core.steps.StepListener 接口并通过 SPI 连接它。我在 this post

的回答中对此进行了描述