Appium-Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity

前端 未结 4 545
走了就别回头了
走了就别回头了 2021-01-27 02:20

I am trying to run a test file created on eclipse using appium. When I execute the test on a real android device connected to the system, I get the following error:

Enco

相关标签:
4条回答
  • 2021-01-27 02:27

    The issue speaks for itself: you either did not provide activity to recognise your app or you specified the wrong one.

    What you can do:

    1. Connect device to laptop, make sure adb debugging is on
    2. Install your app manually and launch it
    3. In terminal run:

    adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

    1. Check the output, you will get something like:

    com.yourcompany.package/com.yourcompany.package.login.view.LoginActivity

    So now you have package - com.yourcompany.package and activity com.yourcompany.package.login.view.LoginActivity that you should provide Appium.

    1. Add new capabilities, full set should look like: DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "device"); capabilities.setCapability("app", pathToApk); capabilities.setCapability("platformName", "android"); capabilities.setCapability("appWaitPackage", "com.yourcompany.package"); capabilities.setCapability("appWaitActivity", "com.yourcompany.package.login.view.LoginActivity");

    Works perfectly for me on multiple real devices

    0 讨论(0)
  • 2021-01-27 02:43

    I always received "Encountered internal error running command: Error: The application at " "does not exist or is not accessible" I user a Driver wait and it solved.

    0 讨论(0)
  • 2021-01-27 02:45

    Check manually Your app like @dmle said,

    1. Open app on Android
    2. go to terminal, console, command line (whatever)
    3. Adb should be installed,
    4. input in termninal adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

    The command will provide current package & activity.

    Maybe developers changed You package id.

    0 讨论(0)
  • 2021-01-27 02:47

    I follow the guide here

    1. Type the following command to Terminal(not execute yet)

      adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

    2. Manually open app on device and execute the above command really quick to find the startActivity.

    3. Copy value of Package and Activity from mFocusedApp=

    4. Check the Activity start-able

      adb shell am start -n package.android/.activity.SplashActivity

    5. Set of Capabilities DesiredCapabilities capabilities = new DesiredCapabilities();

      capabilities.setCapability("device", "Android");
      capabilities.setCapability("platformName", "Android");
      capabilities.setCapability("deviceName", "Galaxy Note9");
      
      capabilities.setCapability("appWaitPackage", "package.android");
      capabilities.setCapability("appWaitActivity", ".activity.SplashActivity");
      capabilities.setCapability("appPackage", "package.android");
      capabilities.setCapability("appActivity", ".activity.SplashActivity");
      capabilities.setCapability("appWaitDuration", 10000);//this is way optional, 20000 by default
      
      capabilities.setCapability("app", newApp.getAbsolutePath());
      
    0 讨论(0)
提交回复
热议问题