package tutorial; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType; public class base { //Dump out all package names of installed apis on the device //adb shell pm dump PACKAGE_NAME | grep -A 1 MAIN //To find the package name and main activity of the app first open the app //in the device and then run the following command: //$ adb shell dumpsys window windows | grep -E 'mCurrentFocus' //mCurrentFocus=Window{84fac63 u0 io.appium.android.apis/io.appium.android.apis.ApiDemos} //package name => io.appium.android.apis //main activity name => io.appium.android.apis.ApiDemos public static AndroidDriver Capabilities() throws MalformedURLException { File f = new File("src"); File fs = new File(f, "ApiDemos-debug.apk"); System.out.println(fs.getAbsolutePath()); DesiredCapabilities capabilities = new DesiredCapabilities(); //capabilities.setCapability("automationName", "Appium"); capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 120); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Pixel2API28"); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); //capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android emulator"); capabilities.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath()); capabilities.setCapability(MobileCapabilityType.CLEAR_SYSTEM_FILES, "true"); capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "120"); //capabilities.setCapability("deviceName", "Nexus6API27"); //capabilities.setCapability("browserName", "Android"); //capabilities.setCapability(CapabilityType.VERSION, "8.1"); //capabilities.setCapability("platformName", "Android"); capabilities.setCapability("appPackage", "io.appium.android.apis"); capabilities.setCapability("appActivity", "io.appium.android.apis.ApiDemos"); // WebDriver driver=new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities); AndroidDriver driver = new AndroidDriver<> (new URL("http://127.0.0.1:4723/wd/hub"),capabilities); // AndroidDriver driver = new AndroidDriver (new URL("http://127.0.0.1:4723/wd/hub"),capabilities); driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); return driver; } }