2017-10-17 14 views
0

J'ai récemment repris un projet qui utilise Appium pour effectuer des tests mobiles automatisés. J'ai quelques scripts python qui sont supposés être exécutés avec Appium mais quand j'essaie de les exécuter, je cours dans "[INSTALL_FAILED_VERSION_DOWNGRADE]". Après beaucoup de recherches sur le sujet, j'ai inclus que c'est un problème lié à Android et à sa version APK. Cependant, je suis nouveau sur Android, ce qui rend difficile de comprendre à la fois ce que font Appium et Android. Je penche plus vers un problème quand il essaie d'installer l'application sur l'appareil, mais je pense que j'ai abordé les étapes de dépannage. Par exemple, assurez-vous d'avoir la dernière version de l'application, de désinstaller l'application, de réinstaller une ancienne version de l'application et enfin de vérifier les mises à jour.Echec [INSTALL_FAILED_VERSION_DOWNGRADE]

script Python retraçage:

Traceback (most recent call last): 
    File "main.py", line 310, in <module> 
    launch() 
    File "main.py", line 26, in launch 
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) 
    File "C:\Python\lib\site-packages\appium\webdriver\webdriver.py", line 36, in __init__ 
    super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 151, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 240, in start_session 
    response = self.execute(Command.NEW_SESSION, parameters) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute 
    self.error_handler.check_response(response) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: Command failed: C:\AndroidSDK\platform-tools\adb.exe -s GCNPCX031761JAV install "C:\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk" 
Failed to install C:\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 
) 

console Appium:

error: Failed to start an Appium session, err was: Error: Command failed: C:\AndroidSDK\platform-tools\adb.exe -s GCNPCX031761JAV install "C:\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk" 
Failed to install C:\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 

info: [debug] Error: Command failed: C:\AndroidSDK\platform-tools\adb.exe -s GCNPCX031761JAV install "C:\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk" 
Failed to install C:\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 

    at ChildProcess.exithandler (child_process.js:204:12) 
    at emitTwo (events.js:106:13) 
    at ChildProcess.emit (events.js:191:7) 
    at maybeClose (internal/child_process.js:891:16) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) 
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Command failed: C:\\AndroidSDK\\platform-tools\\adb.exe -s GCNPCX031761JAV install \"C:\\Appium\\node_modules\\appium\\build\\settings_apk\\settings_apk-debug.apk\"\nFailed to install C:\\Appium\\node_modules\\appium\\build\\settings_apk\\settings_apk-debug.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]\r\n)","killed":false,"code":1,"signal":null,"cmd":"C:\\AndroidSDK\\platform-tools\\adb.exe -s GCNPCX031761JAV install \"C:\\Appium\\node_modules\\appium\\build\\settings_apk\\settings_apk-debug.apk\"","origValue":"Command failed: C:\\AndroidSDK\\platform-tools\\adb.exe -s GCNPCX031761JAV install \"C:\\Appium\\node_modules\\appium\\build\\settings_apk\\settings_apk-debug.apk\"\nFailed to install 
C:\\Appium\\node_modules\\appium\\build\\settings_apk\\settings_apk-debug.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]\r\n"},"sessionId":null} 

MISE À JOUR: Je redémarré mon ordinateur et il a couru à nouveau et il est débarrassé de la [INSTALL_FAILED_VERSION_DOWNGRADE] mais maintenant je suis obtenir

Traceback (most recent call last): 
    File "main.py", line 310, in <module> 
    launch() 
    File "main.py", line 26, in launch 
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) 
    File "C:\Python\lib\site-packages\appium\webdriver\webdriver.py", line 36, in __init__ 
    super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 151, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 240, in start_session 
    response = self.execute(Command.NEW_SESSION, parameters) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute 
    self.error_handler.check_response(response) 
    File "C:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Error occured while starting App. Original error: Error executing adbExec. Original error: 'Command 'C\:\\AndroidSDK\\platform-tools\\adb.exe -P 5037 -s GCNPCX031761JAV shell am start -W -n com.rockfordfosgate.perfecttune/com.rockfordfosgate.perfecttune.activity.HomeActivity -S' exited with code 1'; Stderr: 'java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.rockfordfosgate.perfecttune/.activity.HomeActivity } from null (pid=10837, uid=2000) not exported from uid 10127 
     at android.os.Parcel.readException(Parcel.java:1683) 
     at android.os.Parcel.readException(Parcel.java:1636) 
     at android.app.ActivityManagerProxy.startActivityAndWait(ActivityManagerNative.java:3352) 
     at com.android.commands.am.Am.runStart(Am.java:630) 
     at com.android.commands.am.Am.onRun(Am.java:388) 
     at com.android.internal.os.BaseCommand.run(BaseCommand.java:51) 
     at com.android.commands.am.Am.main(Am.java:121) 
     at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) 
     at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:294)'; Code: '1' 

Whic h semble être un problème de permissions avec ADB.

Répondre

1

Le premier problème que vous avez rencontré ([INSTALL_FAILED_VERSION_DOWNGRADE]) a été corrigé dans la version récente du serveur Appium 1.7.1, donc si vous utilisez le dernier serveur, inutile de rechercher des solutions de contournement.

La deuxième question de ne pas en mesure de commencer intention est plus comme problème avec votre Android app fichier manifext.xml, vous vérifier comment il peut être fixé here

0

Peut-être que l'application n'est pas désinstallée correctement, essayez la commande en cours d'exécution:

Remplacez "com.xxx.xxx" par le nom de votre paquetage.
adb shell pm uninstall com.xxx.xxx