When Trying to do a constructor call from another class NoSuchElementFound error shows for initElements.
Testcase class:
public class basics extends hybridbase{
public static void main(String[] args) throws MalformedURLException {
AndroidDriver<AndroidElement> driver = capabilities("emulator");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
HomePage h = new HomePage(driver);
h.Preferences.click();
}
homepage where it calling from:
public class HomePage {
public HomePage(AppiumDriver driver) {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
@AndroidFindBy(xpath="//android.widget.TextView[@text='Preference']")
public WebElement Preferences;
public WebElement getPreferences() {
System.out.println("*****######*****");
return Preferences;
}
}
Error:
Exception in thread “main” java.lang.RuntimeException: java.lang.NoSuchMethodException: jdk.proxy2.$Proxy1.proxyClassLookup()
at io.appium.java_client.pagefactory.bys.builder.AppiumByBuilder.prepareAnnotationMethods(AppiumByBuilder.java:85)
at io.appium.java_client.pagefactory.bys.builder.AppiumByBuilder.getFilledValue(AppiumByBuilder.java:92)
at io.appium.java_client.pagefactory.bys.builder.AppiumByBuilder.createBy(AppiumByBuilder.java:148)
at io.appium.java_client.pagefactory.DefaultElementByBuilder.getBys(DefaultElementByBuilder.java:133)
at io.appium.java_client.pagefactory.DefaultElementByBuilder.buildMobileNativeBy(DefaultElementByBuilder.java:170)
at io.appium.java_client.pagefactory.DefaultElementByBuilder.buildBy(DefaultElementByBuilder.java:204)
at io.appium.java_client.pagefactory.AppiumElementLocatorFactory.createLocator(AppiumElementLocatorFactory.java:66)
at io.appium.java_client.pagefactory.AppiumElementLocatorFactory.createLocator(AppiumElementLocatorFactory.java:53)
at io.appium.java_client.pagefactory.AppiumElementLocatorFactory.createLocator(AppiumElementLocatorFactory.java:1)
at org.openqa.selenium.support.pagefactory.DefaultFieldDecorator.decorate(DefaultFieldDecorator.java:56)
at io.appium.java_client.pagefactory.AppiumFieldDecorator.decorate(AppiumFieldDecorator.java:154)
at org.openqa.selenium.support.PageFactory.proxyFields(PageFactory.java:113)
at org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:105)
at pageObject.HomePage.< init >(HomePage.java:17)
at basics.main(basics.java:18)