Selenium webdriver serenity bdd带黄瓜特色挂钩
我正在将Serenity BDD与cucumber一起使用,我希望每个功能文件只运行一次某些东西。看起来cucumber目前不支持这一点。我想知道serenity是否有解决办法Selenium webdriver serenity bdd带黄瓜特色挂钩,selenium-webdriver,cucumber-jvm,serenity-bdd,cucumber-serenity,Selenium Webdriver,Cucumber Jvm,Serenity Bdd,Cucumber Serenity,我正在将Serenity BDD与cucumber一起使用,我希望每个功能文件只运行一次某些东西。看起来cucumber目前不支持这一点。我想知道serenity是否有解决办法 我还尝试在测试套件类中使用JUnit@BeforeClass、@AfterClass钩子,但这两个注释需要静态方法,我当时无法访问serenity page objects方法(当时没有注入实例).您可以尝试设置一个静态全局标志,以确保before方法只运行一次 使用标记设置要素文件 @RunOnce Feature:
我还尝试在测试套件类中使用JUnit@BeforeClass、@AfterClass钩子,但这两个注释需要静态方法,我当时无法访问serenity page objects方法(当时没有注入实例).您可以尝试设置一个静态全局标志,以确保before方法只运行一次 使用标记设置要素文件
@RunOnce
Feature: Run Once
在步骤定义中使用以下挂钩
private static boolean onceFlag = true;
@Before(value="@RunOnce")
public void beforeOnce(){
if(onceFlag) {
onceFlag = false;
//Your code to write once per feature file
}
}
您可以尝试实现net.thucydides.core.steps.StepListener接口并通过SPI连接它。我在中的回答中描述了这一点。是否可以在钩子之前的全局测试中,在每次测试运行中实现一次。意味着符文先于所有特征file@Grasshoper对不起,我的意思是,它不仅应该在所有其他功能文件之前运行一次。我在上面试过了,但它并没有在所有其他功能文件之前运行。你应该看看插件系统。TestSourceRead事件可能就是您想要的,我尝试过,但在我的
serenity bdd中,它似乎存在某种依赖性问题。我遵循了这一点。然后,由于依赖冲突,我无法运行测试。这是我目前的状态