Error: ‘Activity used to start app doesn’t exist or cannot be launched! Make sure it exists and is a launch-able activity’ is appearing.
Can you please provide me a solution for this type of error message, i am using below mentioned code:
i just want little favor if someone can provide source code for scenario in which app is switching between different activities within the app.
Also just want to confirm that do i need to create individual capabilities for each activity like in code mentioned by me in below code.
public class Capabilities {
AndroidDriver andDriver;
private String appPackage = “com.abc.xyz.xyz”;
//private String appPackageAcivity = “com.abc.xyz.xyz.Activity”;
private String splashActivity = “com.abc.xyz.xyz.Activity.SplaseActivity”;
private String loginActivity = “com.abc.xyz.xyz.Activity.LoginActivity”;
private String mainActivity = “com.abc.xyz.xyz.Activity.MainActivity”;
public AndroidDriver getAndDriver() {
return andDriver;
}
public void setAndDriver(AndroidDriver andDriver) {
this.andDriver = andDriver;
}
public Capabilities() {
createCapabilites(loginActivity);
}
public AndroidDriver createCapabilites(String activityName) {
File Build = new File(“src”);
File TestBuild = new File(Build, “xyz.apk”);
DesiredCapabilities capabilities = DesiredCapabilities.android();
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, “Appium”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, “Android”);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, “Emulator_Nexus6”);
capabilities.setCapability(MobileCapabilityType.NO_RESET, true);
capabilities.setCapability(MobileCapabilityType.FULL_RESET, false);
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, appPackage);
capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, splashActivity);
capabilities.setCapability(“autoGrantPermissions”, true);
capabilities.setCapability(MobileCapabilityType.APP, TestBuild.getAbsolutePath());
try {
andDriver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
andDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return andDriver;
}
public void navigateToMainScreen() {
File Build = new File(“src”);
File TestBuild = new File(Build, “xyz.apk”);
DesiredCapabilities capabilities = DesiredCapabilities.android();
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, “Appium”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, “Android”);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, “Emulator_Nexus6”);
capabilities.setCapability(MobileCapabilityType.NO_RESET, true);
capabilities.setCapability(MobileCapabilityType.FULL_RESET, false);
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, appPackage);
capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, mainActivity);
capabilities.setCapability(“autoGrantPermissions”, true);
capabilities.setCapability(MobileCapabilityType.APP, TestBuild.getAbsolutePath());
try {
andDriver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
andDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}