【发布时间】:2021-12-21 05:49:04
【问题描述】:
我试图将 pico-container DI 合并到我的框架中,这样我就可以在多个步骤定义中使用 @Before 和 @After 标记。请参阅下面的错误。任何建议都会很棒。
You're not allowed to extend classes that define Step Definitions or hooks. class steps.hotelBookingFormPage extends class resources.hooks
import io.cucumber.java.en.Given;
import org.openqa.selenium.internal.ShutdownHooks;
import resources.hooks;
public class hotelBookingFormPage extends hooks {
public hooks base;
hotelBookingFormPage (hooks base) {
base = hooks.startBrowser();
}
@Given("I navigate to the hotel booking form page")
public void iNavigateToTheHotelBookingFormPage() {
base.driver.get("http://hotel-test.equalexperts.io/");
}
【问题讨论】:
-
你为什么要扩展一个包含钩子方法的类?最终目标是什么?
-
我想把我所有的钩子放在一个单独的类中,这样我就可以在其他 step def 文件中使用它们。但是,当我这样做时,出现以下错误:
Before All/After All failed java.lang.NoClassDefFoundError: org/picocontainer/MutablePicoContainer我已将 pico-container jar 添加到我的依赖项中,但仍然出现上述错误
标签: java selenium dependency-injection cucumber picocontainer