driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
Appdrivers.setDriver(driver);
Set<String> contextNames = driver.getContextHandles();
for (@SuppressWarnings("unused") String contextName : contextNames) {
// System.out.println(contextName); //prints out something like NATIVE_APP \n
// WEBVIEW_1
}
driver.context((String) contextNames.toArray()[1]);
} catch (Exception e) {
Reporter.log(e.getMessage());
}
}
Facing below issue
java.lang.ExceptionInInitializerError at io.appium.java_client.pagefactory.utils.ProxyFactory.getEnhancedProxy(ProxyFactory.java:53) at io.appium.java_client.pagefactory.utils.ProxyFactory.getEnhancedProxy(ProxyFactory.java:33) at io.appium.java_client.pagefactory.AppiumFieldDecorator.proxyForAnElement(AppiumFieldDecorator.java:216) at io.appium.java_client.pagefactory.AppiumFieldDecorator.access$0(AppiumFieldDecorator.java:214) at io.appium.java_client.pagefactory.AppiumFieldDecorator$1.proxyForLocator(AppiumFieldDecorator.java:107) at org.openqa.selenium.support.pagefactory.DefaultFieldDecorator.decorate(DefaultFieldDecorator.java:62) 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 pfs.Login.(Login.java:27) at pfs.Login_Test.login(Login_Test.java:12)
this is my appdriver class
public class Appdrivers { private static ThreadLocal driver = new ThreadLocal<>();
public static WebDriver getDriver(){ return driver.get(); } public static void setDriver(WebDriver Driver){ driver.set(Driver);
} }
this is my page object class
public class Login extends Baseclass { @FindBy(xpath = "//input[@placeholder='Enter Username']") public WebElement username;
@FindBy(xpath = "(//*[@name='password'])[2]") public WebElement password;
@FindBy(xpath = "//*[@type='submit']") public WebElement login;
public Login() { try { PageFactory.initElements(new AppiumFieldDecorator(Appdrivers.getDriver()), this); } catch (Exception e) {
this is my base class
public class Baseclass extends Appdrivers{ public static AndroidDriver driver;
public void launchIFMIS() { String androidVersion = "13"; String deviceName = "IFMIS"; String platformName = "Android"; try { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("VERSION", androidVersion); capabilities.setCapability("deviceName", deviceName); capabilities.setCapability("platformName", platformName); capabilities.setCapability("appPackage", "com.pixelvide.ifmis.finance"); capabilities.setCapability("autoGrantPermissions", true); capabilities.setCapability("appActivity", "com.pixelvide.ifmis.finance.MainActivity");
}
Facing below issue
java.lang.ExceptionInInitializerError at io.appium.java_client.pagefactory.utils.ProxyFactory.getEnhancedProxy(ProxyFactory.java:53) at io.appium.java_client.pagefactory.utils.ProxyFactory.getEnhancedProxy(ProxyFactory.java:33) at io.appium.java_client.pagefactory.AppiumFieldDecorator.proxyForAnElement(AppiumFieldDecorator.java:216) at io.appium.java_client.pagefactory.AppiumFieldDecorator.access$0(AppiumFieldDecorator.java:214) at io.appium.java_client.pagefactory.AppiumFieldDecorator$1.proxyForLocator(AppiumFieldDecorator.java:107) at org.openqa.selenium.support.pagefactory.DefaultFieldDecorator.decorate(DefaultFieldDecorator.java:62) 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 pfs.Login.(Login.java:27) at pfs.Login_Test.login(Login_Test.java:12)