>source

로그인 기능의 웹 요소에 대해 pagefactory로 실행하려고 합니다.

testng로 실행한 후 오류가 발생합니다.

그리고 그것은 searchcontext 오류를 보여줍니다. xpath로 실행을 시도했지만 여전히 동일한 오류가 발생했습니다.

어떤 도움이라도 주시면 감사하겠습니다.

@BeforeTest(alwaysRun= true)
    public void bfTest() throws IOException {
        System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
        driver= new ChromeDriver();
        String url= "https://www.example.com/";
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get(url);
        BasicConfigurator.configure();
        Logger log= Logger.getLogger("devpinoyLogger");
    }
    public void test_case_01 () {
        login= new Login(driver);
        login.enter_username("name");
        login.enter_password("password");
        login.click_login();
        List<WebElement> list_products= driver.findElements(By.xpath("//div[@class='inventory_item']"));
        int number_products= list_products.size();
        System.out.println("Verifying login is the number of products: " + number_products);
        AssertJUnit.assertEquals(number_products, 6);
    }
public class Login {
    WebDriver driver;
    @FindBy(xpath="user-name")
    private WebElement name;
    @FindBy(name="password")
    private WebElement pwd;
    @FindBy(name="login-button")
    public WebElement login;
    public Login (WebDriver driver) {
        this.driver= driver;
        PageFactory.initElements(driver, this);
    }
    public void enter_username(String username) {
        name.sendKeys(username);
    }

위의 code를 통과하지 못한 후 이 오류가 발생합니다. 도움을 주시면 감사하겠습니다.

java.lang.NoSuchMethodError: 'void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)'
    at com.eCommerce.test.Login.<init>(Login.java:26)
    at com.eCommerce.test.Main.test_case_01(Main.java:65)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
    at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
    at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
    at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
    at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:824)
    at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1510)
    at org.testng.TestRunner.privateRun(TestRunner.java:794)
    at org.testng.TestRunner.run(TestRunner.java:596)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:377)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332)
    at org.testng.SuiteRunner.run(SuiteRunner.java:276)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
    at org.testng.TestNG.runSuites(TestNG.java:1063)
    at org.testng.TestNG.run(TestNG.java:1031)
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

수입품은 어디에 있습니까?

undetected Selenium2022-01-15 10:18:14

잘. 위에 추가하는 것을 잊었지만 로그인 class.import org.openqa.selenium.support.FindBy에 이미 가져오기가 있습니다. 수입 org.openqa.selenium.support.PageFactory;

Workhard2022-01-15 10:18:14
  • 이전 r : 다른 변수의 이전 값인 변수 생성
  • 다음 javascript : Chrome 확장 프로그램 회의 오디오를 재생할 수 없음