【问题标题】:java.lang.NoSuchMethodError: 'void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)'java.lang.NoSuchMethodError:\'void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)\'
【发布时间】:2022-10-04 18:40:55
【问题描述】:

我试图运行我的旧硒练习脚本,这些脚本在一个月前运行良好,现在正在抛出错误,尤其是在构造函数中

PageFactory.initElements(driver, this);

有什么建议吗?

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();
    }
}

堆栈跟踪

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)

【问题讨论】:

    标签: java selenium selenium-webdriver pom.xml page-factory


    【解决方案1】:

    NoSuchMethodError 通常意味着您使用一个版本编译,但使用不同的(通常较旧的)版本运行,因此出现异常。

    解决方案是确保您在相同版本的 Java、selenium 以及您也在使用的任何其他 3rd 方库上进行开发和运行

    【讨论】:

    • 感谢您的解决方案。当我在 Maven 依赖项中降级我的 selenium 版本时,这个问题得到了解决。
    【解决方案2】:

    我也遇到同样的错误。我正在使用最新的 java 和 selenium 版本。

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)' 在automation.lerner.testcase.crm.loginCRM.Startapp(loginCRM.java:22)

    【讨论】:

      猜你喜欢
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 2022-09-27
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多