使用JUnit @BeforeClass和Cucumber ......它有效吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JUnit @BeforeClass和Cucumber ......它有效吗?相关的知识,希望对你有一定的参考价值。

目前我的驱动程序设置为@Before方法 -

@Before("@setup") public void setUp() {
        driver = utilities.DriverFactory.createDriver(browserType);
        driver.manage().deleteAllCookies();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
    }

并且从Feature文件调用,如此 -

@test
Feature: Test 

  @setup
  Scenario: Navigate to Webpage and Assert Page Title

我的理解是,每次出现情况时,驱动程序都会被设置,这是不理想的。它应该只设置一次。是否有可能使用JUnit @BeforeClass(看起来Cucumber似乎没有),所以我只能设置一次?这两个图书馆混在一起吗?

答案

您可以使用junit BeforeClass来创建驱动程序。由于这是一个静态方法,因此驱动程序变量也必须是静态的。此外,AfterClass可用于关闭驱动程序。

以上是关于使用JUnit @BeforeClass和Cucumber ......它有效吗?的主要内容,如果未能解决你的问题,请参考以下文章

用于 Spring Boot 应用程序的 JUnit @BeforeClass 非静态工作

junit用法,before,beforeClass,after, afterClass的执行顺序

JUnit 如何管理在测试类中定义的仅运行一次 @BeforeClass

从弹簧配置中初始化或将字符串注入静态字段 beforeClass (JUNIT) 的优雅方法?

JUnit

@Before、@BeforeClass、@BeforeEach 和 @BeforeAll 之间的区别