Активность, используемая для запуска приложения, не существует! Убедитесь, что он существует

Когда я пытаюсь использовать Appium для тестирования своего Android-приложения Hello World, я получаю Activity used to start app doesn't exist! Make sure it exists

  1. У меня есть apk с пакетом: com.company.myapp
  2. В пакете есть активность: MainActivity
  3. APK предназначен для Android 4.4, уровень API 19.
  4. У меня есть смоделированное Android-устройство через adt-bundle-mac-x86_64-20131030/sdk/tools/emulator -avd 4.4-KitKat-Nexus-4
  5. In DesiredCapabilities, I've tried the following for app-activity:
    1. "MainActivity"
    2. ".MainActivity"
    3. "com.company.myapp.MainActivity"
  6. В журнале Appium написано debug: Request received with params: {"desiredCapabilities":{"newCommandTimeout":"60","app":"/Users/me/Development/workspace/myapp/bin/myapp.apk","platform":"MAC","browserName":"","app-package":"com.company.myapp","device-ready-timeout":"60","device":"android","launch":"true","compressXml":"true","app-wait-activity":"com.company.myapp.MainActivity","app-activity":"com.company.myapp.MainActivity","version":"4.4"}}
  7. Appium создает сеанс, запускает Android-приложение, находит мое подключенное (симулированное) устройство, говорит, что приложение не установлено, приложение уже подписано, находит apk, который хочет сохранить, не может найти ни одного для удаления, запускает adb -s emulator-5554 shell pm install -r [apk it found that it wants to keep], перенаправляет порт 4724, пробуждает устройство, получая {"value":true,"status":0}, гарантирует, что экран разблокирован...

А затем он выполняет adb -s emulator-5554 shell am start -n com.company.myapp/com.company.myapp.MainActivity и выдает сообщение об ошибке выше.

Он также пытается с . добавлен к действию и дает то же сообщение об ошибке.


person user1011471    schedule 02.12.2013    source источник


Ответы (2)


Я обнаружил, что если приложение было установлено до запуска моего теста, оно не жаловалось на отсутствие активности.

И если я запускаю appium с appium --full-reset, он удаляет существующее приложение, а затем устанавливает какой-то apk и находит Activity.

person user1011471    schedule 02.12.2013

Убедитесь, что имя пакета в .java или .kt в соответствующем приложении совпадает с именем пакета XML.

например: XML - tools:context=com.example.emptyname.MainActivity kt - package com.example.emptyname

person Lubna mariyam    schedule 27.02.2021