неудовлетворенная зависимость 'интерфейс org.openqa.selenium.WebDriver' для конструктора - PullRequest
0 голосов
/ 21 февраля 2019

Я настраиваю основу селена, где я смог заставить работать большинство моих вещей.Сейчас я пытаюсь реализовать фабрику страниц, и именно здесь возникают проблемы.

Я попытался найти в Интернете, где упоминается пико-контейнер, и у меня есть зависимость от пико-контейнера в моем pom с версией 1.2.5.Так что не уверен, почему я сталкиваюсь с этой проблемой.Кроме того, эта проблема возникает только при создании этого конструктора в классе HomePage_Steps для фабрики страниц.Если я закомментирую конструктор, эта ошибка исчезнет, ​​но тогда, конечно, мне придется обрабатывать локаторы объектов другим способом.Любые входные данные будут высоко оценены.

Класс: HomePageSteps:

package stepDefinitions;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.How;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import configuration.BaseConfig;
import cucumber.api.PendingException;
import cucumber.api.java.en.And;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import methods.Common_Methods;
import configuration.BaseConfig;
import configuration.AngularJSHelper;

public class HomePage_Steps {
    WebDriver driver;
    //AngularJSHelper ajs = new AngularJSHelper();

    @FindBy(how=How.XPATH, using="//*[@id='businessRuLes']")
        WebElement Tab_BusRules;
    @FindBy(how=How.ID, using="RuleMaster")
        WebElement lnk_RuleMaster;
     //WebDriverWait wait = new WebDriverWait(driver, 60);
    //PageFactory.initElements(driver, HomePage_Steps.class);
     public HomePage_Steps(WebDriver driver) {
        this.driver = driver;
         PageFactory.initElements(driver, this);
         }

Ошибка :

Scenario: Test Radio Button selection   [90m# HomePage.feature:4[0m
    [31mGiven [0m[31mI navigate to appurl[0m            [90m# HomePage_Steps.i_navigate_to_appurl()[0m
      [31morg.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException: stepDefinitions.HomePage_Steps has unsatisfied dependency 'interface org.openqa.selenium.WebDriver' for constructor 'public stepDefinitions.HomePage_Steps(org.openqa.selenium.WebDriver)' from org.picocontainer.DefaultPicoContainer@3b809711:2<|
        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)
        at cucumber.runtime.java.picocontainer.PicoFactory.getInstance(PicoFactory.java:40)
        at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
        at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
        at cucumber.runtime.Runtime.runStep(Runtime.java:300)
        at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
        at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
        at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
        at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:165)
        at cucumber.api.testng.TestNGCucumberRunner.runCucumber(TestNGCucumberRunner.java:63)
        at runnerFile.Baserunner.feature(Baserunner.java:37)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
        at org.testng.TestRunner.privateRun(TestRunner.java:648)
        at org.testng.TestRunner.run(TestRunner.java:505)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
        at org.testng.SuiteRunner.run(SuiteRunner.java:364)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
        at org.testng.TestNG.runSuites(TestNG.java:1049)
        at org.testng.TestNG.run(TestNG.java:1017)
        at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
        at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
        at ✽.Given I navigate to appurl(HomePage.feature:6)
      [0m
    [36mWhen [0m[36mI click on Business Rules[0m        [90m# HomePage_Steps.i_click_on_Business_Rules()[0m
    [36mThen [0m[36mI click on Rules Master[0m          [90m# HomePage_Steps.i_click_on_Rules_Master()[0m
    [36mThen [0m[36mI validate Rules Master page[0m     [90m# RulesMaster.i_validate_rules_master_page()[0m
    [36mAnd [0m[36mI select Group Rules radio button[0m [90m# RulesMaster.i_select_group_rules_radio_button()[0m
    [33mAnd [0m[33mI close browser[0m
...