Démarrer des Instruments à partir de la ligne de commande
J'ai suivi ce site pour commencer avec UI Automation.
http://blog.manbolo.com/2012/04/08/ios-automated-tests-with-uiautomation#1.2
Je suis en train de commencer des Instruments à partir de la ligne de commande. Malheureusement, j'obtiens une erreur:
2013-03-14 14:06:36.376 instruments[17854:1207] Connection to the remote device lost while launching target. Aborting...
2013-03-14 14:06:36.378 instruments[17854:1207] Recording cancelled : At least one target failed to launch; aborting run
Instruments Trace Error : Failed to start trace.
C'est la commande que j'ai utilisé:
instruments -w {deviceId} -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate {appname} -e UIASCRIPT /Path/to/Script.js
Actuellement, je suis en utilisant Xcode 4.6.
L'app est installé sur l'appareil? Instruments n'est pas installé sur l'appareil automatiquement (au moins pas en ce moment). Et vous avez
Oh, et ce script dans mon démo application qui pourrait aider: github.com/jonathanpenn/ScheduleDemo/blob/master/test_run.sh
{appname}
en tant que paramètre. Vous ne pouvez pas il suffit de spécifier le nom. Vous devez spécifier un chemin d'accès complet à l'application bundle qui se construit par Xcode. Instruments utilise que pour trouver l'identifiant de lot de sorte qu'il sait ce que l'application à lancer sur le périphérique.Oh, et ce script dans mon démo application qui pourrait aider: github.com/jonathanpenn/ScheduleDemo/blob/master/test_run.sh
OriginalL'auteur Xazen | 2013-03-14
Vous devez vous connecter pour publier un commentaire.
En 2014 avec Xcode 6.0.1, vous faites quelque chose comme cela pour l'exécution de UIAutomation tests sur le simulateur, le nom de votre simulateur après le commutateur-w:
Si vous voulez l'exécuter sur votre appareil, au lieu de "iPhone 5s" comme j'ai dans l'extrait ci-dessus pour en cours d'exécution sur le simulateur, vous me fournir l'UDID de votre appareil. Ensuite, vous pouvez omettre le long chemin de app que j'ai donné ci-dessus, et il suffit de fournir le nom de l'application. Instruments seront en mesure de trouver sur l'appareil.
À l'aide de mon exemple ci-dessus, mais modifié pour un hypothétique de l'appareil, cela pourrait ressembler à:
Ce n'est pas vérifiée avec un appareil invocation, donc merci de le tester. Il y a un peu de souplesse avec le paramètre de la commande.
J'ai vérifié UI Automation Runner script qui fonctionne vraiment bien pour Xcode 6.0.1 et le simulateur.
OriginalL'auteur idStar
Cela a fonctionné pour moi.
J'ai fait la
ps
de commande pour voir quels sont les processus en cours d'exécution. J'ai trouvé que les instruments était toujours en cours d'exécution. J'ai ensuite faitkillall instruments
et qui a tué les instruments de processus. J'ai ensuite fait mes instruments de commande et cela a fonctionné parfait après.OriginalL'auteur SirRupertIII
Je vous suggère de prendre un coup d'oeil à Jonathan de l'écran-jeu de tir, où il explique à propos de: http://cocoamanifest.net/articles/2013/01/ui-screen-shooter.html. Cela m'a vraiment aidé à comprendre beaucoup de choses sur le simulateur, l'exécution des instruments à partir de la ligne de commande et plus. Comme Jonathan expliqué, vous aurez besoin de construire la première application, pour avoir quelque chose à exécuter.
Obtenir ses sources ici: https://github.com/jonathanpenn/ui-screen-shooter et voir si cela fonctionne pour vous. Puis de travailler votre chemin de retour à un simple script qui va construire l'application, le mettre dans un emplacement idéal et d'exécuter des instruments d'aide de l'application et le modèle de votre choix.
J'ai corrigé le lien.
OriginalL'auteur Jelle
essayer cette
à la place du nom de l'application, vous devez donner le chemin d'accès complet à votre application.
OriginalL'auteur user2461370
J'ai eu le même problème, j'avais fait des modifications suivantes et a bien fonctionné pour moi:
Changé le lieu de w udid de commande, de le mettre après le chemin de tracetemplate et avant le chemin d'accès de l'application, c'est à dire ce qui devrait être juste comme
OriginalL'auteur Mehul Thakkar