[FIXED] java.lang.NoSuchMethodError: ‘void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)’

Ausgabe

Ich habe versucht, meine alten, mit Selen geübten Skripte auszuführen, die vor einem Monat einwandfrei funktionierten und jetzt Fehler verursachen, insbesondere beim Konstruktor

PageFactory.initElements(driver, this);

Irgendein Rat?

import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import com.crm.qa.base.TestBase;

public class LoginPage extends TestBase {
    
    @FindBy(name="username")`enter code here`
    WebElement Username;

    @FindBy(name="password")
    WebElement Password;
    
    @FindBy(xpath="//div[@class='input-group-btn']//input")
    WebElement LoginBtn;
    
    @FindBy(xpath="//a[contains(text(),'Sign Up')]")
    WebElement SignUPLink;
    
    @FindBy(xpath="//a[@class='navbar-brand']//img")
    WebElement CRMPROLogo;
    
    public  LoginPage() {
        PageFactory.initElements(driver, this);
    }
    //#Actions
    public String ValidateLoginPageTitle() {
         return driver.getTitle();
    }
    public boolean ValidateCRMlogoImg() {
        return CRMPROLogo.isEnabled();
    }
    public  HomePage ValidateLoginTest(String un, String pwd) throws InterruptedException {
        Username.sendKeys(un);
        Password.sendKeys(pwd);
        LoginBtn.click();
        Thread.sleep(3000);
        return new HomePage();
    }
}

Stacktrace

FAILED CONFIGURATION: @BeforeMethod SetUp
java.lang.NoSuchMethodError: 'void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)'
    at com.crm.qa.pages.LoginPage.<init>(LoginPage.java:29)
    at com.crm.qa.testcases.LoginPageTest.SetUp(LoginPageTest.java:24)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:577)

Lösung

NoSuchMethodError bedeutet normalerweise, dass Sie mit einer Version kompiliert haben, aber mit einer anderen (normalerweise älteren) Version laufen, daher die Ausnahme.

Die Lösung besteht darin, sicherzustellen, dass Sie dieselbe Version von Java, Selenium und allen anderen Bibliotheken von Drittanbietern entwickeln und ausführen, die Sie auch verwenden


Beantwortet von –
ControlAltDel


Antwort geprüft von –
Gilberto Lyons (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like