Cucumber 'After' У меня не работает крючок. У меня есть BaseClass, который инициализирует драйвер.
public class BaseClass {
public WebDriver driver ;
protected BaseClass () {
InitialiseParameter();
InitialiseDriver();
}
У нас есть другой класс - PageBase, который расширен другим классом, имеющим код определения Step.
public abstract class PageBase {
public WebDriver driver = null;
public PageBase(WebDriver driver) {
this.driver = driver;
}
мы расширяем класс PageBase как поток:
public class Search_TransmissionLines extends PageBase{
public Search_TransmissionLines(WebDriver driver) {
super(driver);
}
PhotoGallary photogallary =new PhotoGallary(driver);
Utilities util = new Utilities(driver);
Код работает нормально для файлов функций, все шаги выполняются успешно, но когда дело доходит до выполнения @After
хуков, это не удается. Я создал для него класс хуков
public class Hooks extends PageBase{
public Hooks(WebDriver driver) {
super(driver);
}
@After
public void CloseBrowser() {
BaseClass.isBrowserOpened = false;
driver.quit();
}
} Он отображает следующую ошибку: Ошибка:
org.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException: com.qsi.arcgisservice.Hooks has unsatisfied dependency 'interface org.openqa.selenium.WebDriver' for constructor 'public com.qsi.arcgisservice.Hooks(org.openqa.selenium.WebDriver)' from org.picocontainer.DefaultPicoContainer@2cfbeac4:14<|
at org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:191)
at org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:110)
at org.picocontainer.injectors.ConstructorInjector.access$100(ConstructorInjector.java:51)
at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:331)
at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678)
Я использую java и огурец v4, выполнение его с помощью теста JUnit.
Не уверен, что ломается, может кто-нибудь помочь мне в этом ... так что, если есть какая-либо альтернатива, которая также работает для меня. Спасибо