Я запускаю тестовый пример, используя метод 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)
...
Я новичок в автоматическом тестировании, поэтому не могу правильно понять ошибку. Дайте мне знать, если вам нужна дополнительная информация.