1

J'ai un problème de compréhension de la façon dont cela fonctionne. Je veux lancer mon test sur l'appareil, j'ai donc les commandesiOS UIAutomation à partir de la ligne de commande

instruments -w [...] -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/lazarenok/Default/Shasta/iOS/Shasta/Shasta.xcodeproj -e UIASCRIPT /Users/lazarenok/Desktop/SignInAndOut.js -e UIARESULTSPATH /Users/lazarenok/Desktop/1 

Ainsi, le [...] - est l'identifiant du périphérique, /Users/lazarenok/Default/Shasta/iOS/Shasta/Shasta.xcodeproj - chemin de l'application.

Mais je suppose que ça ne devrait pas être comme ça? Comment puis-je trouver le chemin de mon application comme .app? Ou mon chemin est-il correct? Et quel devrait être le UIARESULTSPATH? Où sont les résultats enregistrés?

Répondre

0

Pour le chemin d'accès à l'application, vous avez utilisé le chemin d'accès à votre fichier .xcodeproj. Cela ne devrait pas être le cas. Au lieu de cela, vous devez utiliser le chemin d'accès à votre fichier .app. Un fichier .app est généralement créé par xcode lors de la construction de votre application en utilisant xcode. Pour trouver ceci, allez à: /Users/<username_with_which_you_are_currently_logged_in>/Library/Application Support/iPhone Simulator Ensuite, allez dans le dossier correspondant à la version du simulateur que vous utilisez, puis allez au Applications. Ici vous trouverez quelques dossiers avec des noms cryptiques. Chacun de ces dossiers correspond aux applications que vous avez installées dans votre simulateur. Sélectionnez celui correspondant à l'application que vous automatisez et à l'intérieur vous trouverez le fichier .app. Comme pour l'UIARESULTSPATH, cela peut être le chemin vers n'importe quel dossier où vous voulez enregistrer les résultats de votre test.

0

En 2014, avec Xcode 6.0.1, vous feriez quelque chose comme ça pour le simulateur, en nommant votre simulateur après l'-w:

instruments -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \ 
    -w 'iPhone 5s' \ 
    '/Users/sohail/Library/Developer/CoreSimulator/Devices/7232A640-A9D2-4626-A2AD-37AFFF706718/data/Containers/Bundle/Application/E71B915E-051D-4BEF-9083-34416D02EC91/RoadRunnerRadar.app' \ 
    -e UIASCRIPT '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestRunner.js' \ 
    -e UIARESULTSPATH '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestResults/' 

Si vous voulez exécuter sur votre appareil, au lieu de 'iPhone 5s' comme je l'ai dans l'extrait ci-dessus pour courir sur le simulateur, vous fournir l'UDID de votre appareil. Vous pouvez ensuite omettre le long chemin de l'application que j'ai donné ci-dessus, et fournir simplement le nom de l'application. Les instruments seront en mesure de le trouver sur l'appareil.

En utilisant mon exemple ci-dessus, mais modifié pour un dispositif hypothétique, cela ressemblerait à ceci:

instruments -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \ 
    -w '8532A640-A9C2-4626-A2AD-37AFFF706799' \ 
    'RoadRunnerRadar' \ 
    -e UIASCRIPT '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestRunner.js' \ 
    -e UIARESULTSPATH '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestResults/' 

Ce n'est pas vérifiée avec un appel sur l'appareil, donc s'il vous plaît tester. Il y a un peu de flexibilité avec l'ordre des paramètres.

J'ai un script UI Automation Runner qui fonctionne très bien pour Xcode 6.0.1 et le simulateur.

Questions connexes