我正在使用Serenity-BDD和黄瓜,我想每个特征文件只运行一次。看起来黄瓜此刻并不支持这一点。我想知道宁静是否有一些解决方法。
我也试过在测试套件类中使用JUnit @BeforeClass,@ AfterClass钩子,但是2个注释需要静态方法,那时我无法访问serenity页面对象方法(没有注入实例)时间点。)
答案 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
的回答中对此进行了描述