7
votes

Comment exécuter des cas de test d'instrumentation Android / Robotium contre une version de version APK?

J'ai une configuration de projet Android avec son Pure Java Projet de test d'unité exécuté sur PC et ses projets de test fonctionnels / d'intégration exécutés sur l'émulateur. Ces deux utilisent de InstrumentationTESTCASE2 Cases de test et Cadre de robotium. Je suis capable de courir ces deux de Eclipse, contre la version Débogou de mon application et collecter les résultats, etc.

Je suis capable de créer une version de version APK à la fois à Eclipse Exporter et à BuTour. APK est signé, zalaligné et obscurci.

J'aimerais savoir comment exécuter ce test fonctionnel / d'intégration par rapport à la version version de mon application, au lieu du débogage. Je sais que je pourrais enfermer dans certaines erreurs car l'App projet contient des classes de test seulement qui ont probablement été dépouillées par PROGUARD, mais je peux gérer cela.

J'ai cherché sur Google et ici, mais sans chance. Il n'y a qu'une page ici lié ​​aux tests avec le robotium lorsque vous n'avez que l'APK de l'application, Aucune source. Je ne suis pas sûr que cela m'aiderait vraiment. Comment ferais-je le projet de test pour exécuter sur l'appareil contre la libération APK?


0 commentaires

3 Réponses :


1
votes

Vous devez mettre des ant.properties dans la racine du projet de votre application cible et de votre application de test. Le contenu des ant.properties devrait aimer ceci: clé.alias = key.store.password = key.store = clé.alias.password =


1 commentaires

Bonjour. Merci de répondre. Je pense que cela est nécessaire pour créer l'apk de libération (le signent, etc.). Cette opération se passe déjà. Ce que j'étais après avoir eu lieu à exécuter des tests fonctionnels / d'intégration par rapport à la version de sortie APK.



2
votes
  1. signer à la fois l'application de version sous test et l'application Test Robotium avec Votre clé de libération
  2. Installez les deux applications de votre appareil
  3. Ecrivez des tests en utilisant la commande suivante:

    ADB Shell AM Instrument -W com.Your.Package / Android.Test.instrumentationTestrUnner

    où com.votre.backage est votre nom de votre colis.

    Voir le robotium Q & A pour plus d'informations: http://code.google.com/ p / robotium / wiki / questionsandanswers

    Comme vous l'avez dit, vous pouvez également avoir des problèmes de proguard en fonction de la façon dont vous avez écrit vos cas de test.


5 commentaires

Pour le moment je ne travaille pas à ce projet, mais la réponse est toujours utile à savoir. De plus, @frank a mis une prime à ce sujet. Pourriez-vous s'il vous plaît élaborer plus sur la façon de procéder? Je veux dire: OK, dites que vous signer le débogement APK et la libération APK avec la même clé (version). Alors comment allez-vous plus loin? Merci!


Après la signature, vous devez installer l'application de version sous test et l'application Test Robotium, puis démarrez les tests de la ligne de commande, via la commande "adb shell amumer -w com.android.foo/android.test. InstrumentationTestrunner ", où com.android.foo est votre nom de colis. Voir le robotium Q & A pour plus d'informations: code.google.com/p/robotium/wiki/ QuestionAnswers


D'accord. Pour le moment, je ne suis pas en mesure de tester si cela fonctionne. Si @frank peut confirmer que je suis plus qu'heureux de marquer le vôtre comme la réponse (je suppose que Frank ne peut pas le faire).


Oui @ThefishMike est correct. J'ai édité sa réponse pour le rendre plus clair et l'a attribué à la prime.


Remarque, qui devait très probablement spécifier com.votre.parackage.test , dans d'autres mots - package de votre application de test (pas l'application elle-même).



2
votes

J'aimerais savoir comment exécuter ces tests fonctionnels / d'intégration contre la version de sortie de mon application, au lieu du débogage. p>

Je suis tombé sur cette question lors de la recherche d'une solution. P>

Comme il s'agit d'une ancienne question avec de vieilles réponses, je donnerai une réponse mise à jour pour le projet Android basé sur les grades. P> Qu'est-ce que j'ai fait est: p>

  1. Laissez le test APK exécuté contre le type de construction de libération en ajoutant ceci: li> ol>
    ##--------------- Begin: proguard configuration for Robotium  ----------
    -keep class com.robotium.** { *;}
    ##--------------- End: proguard configuration for Robotium  ----------
    

0 commentaires