I am currently automating a hybrid application using Appium, and there is very little documentation. However, I figured out how to do this through trial and error.
Prerequisites:
1) Debug builds of your hybrid application
2) Use the Chrome browser> Tools> Inspect devices - to open the applicationβs web browsing component
3) You need to use xpath to identify the object in the console
4) script ,
if(browser.equalsIgnoreCase("android")){
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
capabilities.setCapability("deviceName","Android");
capabilities.setCapability("device","Android");
capabilities.setCapability("takesScreenshot","true");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("platformVersion","4.4.2");
capabilities.setCapability("appPackage","uk.co.ee.myee");
capabilities.setCapability("appActivity","uk.co.ee.myee.Launcher");
capabilities.setCapability("udid","989fb005");
driver = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"),capabilities);
touch = new TouchAction(driver);
Set<String> contextNames = driver.getContextHandles();
for (String contextName : contextNames) {
System.out.println(contextName);
if (contextName.contains("WEBVIEW")){
driver.context(contextName);
}
}
}