Appium-Activity, используемая для запуска приложения, не существует или не может быть запущена! Убедитесь, что он существует и доступен для запуска - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь запустить тестовый файл, созданный в eclipse, используя appium.Когда я выполняю тест на реальном устройстве Android, подключенном к системе, я получаю следующую ошибку:

Обнаружена внутренняя ошибка при выполнении команды:

Ошибка: ошибка возникла при запуске приложения.

Исходная ошибка: действие, использованное для запуска приложения, не существует или не может быть запущено!Убедитесь, что он существует и доступен для запуска.

Приложение прекрасно открывается вручную и на эмуляторе, поэтому я не уверен, в чем проблема с реальными устройствами.

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Проверьте вручную Ваше приложение, как сказал @dmle,

  1. Откройте приложение на Android
  2. перейдите в терминал, консоль, командную строку (что угодно)
  3. Adb долженбыть установленным,
  4. ввод в termninal adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

Команда предоставит текущий пакет и активность.

Возможно, разработчики изменили Ваш идентификатор пакета.

0 голосов
/ 02 мая 2019

Я следую инструкциям здесь

  1. Введите следующую команду для терминала (еще не выполнена)

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

  2. Вручную откройте приложение на устройстве и выполните приведенную выше команду очень быстро, чтобы найти startActivity.

  3. Скопировать значение Package и Activity из mFocusedApp =

  4. Проверить возможность запуска активности

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

  5. Набор возможностей Возможности DesiredCapabilities = 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 голосов
/ 16 мая 2018

Проблема говорит сама за себя: вы либо не предоставили активности для распознавания вашего приложения , либо вы указали неверное .

Что вы можете сделать:

  1. Подключите устройство к ноутбуку, убедитесь, что отладка adb включена
  2. Установите приложение вручную и запустите его
  3. В терминальном режиме:

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

Проверьте вывод, вы получите что-то вроде:

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

Итак, у вас есть пакет - com.yourcompany.package и действие com.yourcompany.package.login.view.LoginActivity, которые вы должны предоставить Appium.

Добавление новых возможностей, полный набор должен выглядеть следующим образом: 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");

Прекрасно работает для меня на нескольких реальных устройствах

...