【问题标题】:Getting InstantiationException when creating factory for a page using appium使用 appium 为页面创建工厂时出现 InstantiationException
【发布时间】:2020-11-08 07:25:12
【问题描述】:

我正在使用 pagefactory 方法运行一个测试用例,并创建了一个 appium 驱动程序。我正在尝试使用 pagefactory 类初始化页面,如下所示:

测试类:

public class VerifyValidLogin {
    @Test
    public void CheckValidUser() throws MalformedURLException {
        AppiumDriver driver = DeviceFactory.CreateDriver();
        login login_page = PageFactory.initElements(driver, login.class);
    }
}

DeviceFactory 类:

public class DeviceFactory {
  public static AppiumDriver<MobileElement> driver;
  public static AppiumDriver CreateDriver() throws MalformedURLException {
    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability( capabilityName: 'deviceName', value: 'Something');
    ...
    URL url = new URL("http://127.0.0.1:4723/wd/hub");
    driver = new AppiumDriver<MobileElement>(url,cap);
    System.out.print("Application started");
    return driver;
  }
}

登录类有元素定位器:

public class login {
    AppiumDriver driver;

    public login(AppiumDriver ldriver)
    {
        this.driver=ldriver;
    }

    @FindBy(how = How.XPATH,using ="xpath");
    MobileElement SignInButton;
}

但我不确定我在哪里做错了。

错误是

java.lang.RuntimeException: java.lang.InstantiationException: com.Demo.pages.login
at org.openqa.selenium.support.PageFactory.instantiatePage(PageFactory.java:134)
at org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:64)
at com.Demo.Testcases.VerifyValidLogin.CheckValidUser(VerifyValidLogin.java:18)
...

我是自动化测试的新手,所以我无法正确理解错误。如果您需要更多详细信息,请告诉我。

【问题讨论】:

    标签: selenium-webdriver appium page-factory


    【解决方案1】:

    在构造函数中初始化元素

    public login(AppiumDriver ldriver)
        {
            this.driver=ldriver;
            PageFactory.initElements(ldriver,this);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多