Search code examples
appium

Appium : New session could not be created


I just started exploring Appium, I am trying to launch Amazon app in my nexus 9 and i am getting following error: "A new session could not be created. (Original error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity"

My app is already installed in nexus devie and i also tried by checking/un-checking "Full reset"/"No reset" options

Here's my code:

File app = new File("D:\\Seleniumdownloads\\apk\\com.amazon.mShop.android.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
            capabilities.setCapability("deviceName", "Nexus 9");
            capabilities.setCapability("platformVersion", "5.1.1");
            capabilities.setCapability("platformName", "Android");
            capabilities.setCapability("app", app.getAbsolutePath());
            capabilities.setCapability("appPackage", "com.amazon.mShop.android");
            capabilities.setCapability("appActivity", "com.amazon.mShop.android.HomeActivity");

            driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
            driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);
            Thread.sleep(10000);
            driver.quit();

Please help where i am going wrong..

Thanks in advance.


Solution

  • the problem lies in this line for sure:

    capabilities.setCapability("appActivity","com.amazon.mShop.android.HomeActivity");
    

    By looking at some tutorial, I think that the activity should be com.amazon.mShop.home.HomeActivity. Check if it works.

    You can download small free APK Info app to see what are the app activities. Sometimes activity that is launched first does not have "Main" or "Home" word in name. For example, recently I tested app that has ".MainActivity", but the activity that was started first was ".LoginActivity" and that was the one that was used by Appium to start the app.

    Good luck!