Set contextNames = driver.getContextHandles();
for (String contextName : contextNames) {
System.out.println("Starting app"+contextNames);
} /// above code only returns NATIVE APP, even though for login verification the app switched to webview context, but appium does not recognises.
below is the details:
File appDir = new File("C://sdk//build-tools//android-4.3");
File app = new File(appDir, "Test.apk");
//Set up desired capabilities and pass the Android app-activity and app-package to Appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
// capabilities.setCapability(CapabilityType.VERSION, "4.3");
capabilities.setCapability(CapabilityType.PLATFORM, "Windows");
capabilities.setCapability(CapabilityType.SUPPORTS_NETWORK_CONNECTION,true);
capabilities.setCapability(CapabilityType.SUPPORTS_WEB_STORAGE,true);
capabilities.setCapability(CapabilityType.SUPPORTS_SQL_DATABASE,true);
capabilities.setCapability("app-package", "com.home.simple"); // This is package name of your app (you can get it from apk info app)
capabilities.setCapability("app-wait-activity", "com.dynamicapp.Activity");
capabilities.setCapability("app-activity", "com.dynamicapp.Activity");
capabilities.setCapability("device","Android");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceType","phone");
capabilities.setCapability("autoWebview", true);
capabilities.setCapability("deviceName", "AVD");
capabilities.setCapability("newCommandTimeout",24000);
capabilities.setCapability("autoWebviewTimeout",6000);
// This is Launcher activity of your app (you can get it from apk info app)
try {
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch(Exception e) {
e.printStackTrace();
}