Czy instrument automatyzacji interfejsu można uruchomić z wiersza poleceń?

Czy jest jakiś sposób na otwarcie UIAutomation instrumentu przez terminal?

Czy będzie możliwe napisanie AppleScript, aby otworzyć narzędzie Apple ' a UIAutomation i załadować aplikację do przetestowania?

Czy możesz mi powiedzieć, czy jest jakiś sposób na skrypty lub za pomocą linii poleceń możemy otworzyć UIAutomation i wybrać aplikację do testowania, a także wybrać skrypt testowy?

Author: DShah, 2010-11-16

9 answers

instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/\
PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate \
<full_path_to_application> -e UIASCRIPT <path_to_script.js> \
-e UIARESULTSPATH <output_results_path>

Dla xcode > = 4.5

instruments -t
/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/\
AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate \
<full_path_to_application> -e UIASCRIPT <path_to_script.js> \
-e UIARESULTSPATH <output_results_path>

Dla xcode > = 6.1

instruments -w <device ID> -t \
/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/\
AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate \
<full_path_to_application> -e UIASCRIPT <path_to_script.js> \
-e UIARESULTSPATH <output_results_path>

Jest kilka ważnych rzeczy do zauważenia:

  1. Parametr-w nie jest wymagany, chyba że chcesz uruchomić skrypty na swoim urządzeniu. Jeśli chcesz uruchomić skrypty na symulatorze, po prostu pomiń ten parametr z polecenia.
  2. Full_path_to_application jest ścieżką do twojego .plik aplikacji, który jest tworzony przez symulator. Dla mnie ścieżka była

    /Users/fwasim/Library/Application Support/iPhone Simulator/5.0/Applications/AA6BA2E1-D505-4864-BECC-29adee28194d/name_of_application.app

    Ta ścieżka może być inna dla każdego, w zależności od wersji iOS używanej na symulatorze. Pamiętaj również, aby umieścić tę ścieżkę w podwójnych cudzysłowach.

  3. Path_to_script.js powinien być pełną ścieżką do miejsca, w którym zapisywany jest skrypt automatyzacji napisany w javascript. Pamiętaj również, aby umieścić tę ścieżkę w podwójne cudzysłowy.

  4. Na koniec ścieżka wyników wyjściowych jest ścieżką, na której chcesz zapisać wyniki wyjściowe. Pamiętaj również, aby umieścić tę ścieżkę w podwójnych cudzysłowach.

To były punkty, których mi brakowało, a tym samym otrzymywałem niektóre z wyżej wymienionych błędów.

 54
Author: Farhan Ahmed Wasim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-07 22:15:09

Uruchamianie interfejsu Użytkownika za pomocą wiersza poleceń Możesz to zrobić teraz, zaczynając od XCode 4.2 Dla iOS5 beta 4 Z wiersza poleceń można uruchomić Instrumenty wskazujące na szablon automatyzacji i określić jako zmienne środowiskowe skrypt testowy, który chcesz wykonać, oraz ścieżkę docelową dla wyników:

Instruments-w - T / Developer/Platforms / iPhoneOS.Platforma / programista / Biblioteka / Instrumenty / wtyczki / AutomationInstrument.bundle / Contents / Resources / Automation.tracetemplate-e UIASCRIPT

Powyżej jest z tego źródłowego adresu url: http://dev-ios.blogspot.com/2011/07/starting-uiautomation-via-command-line.html

Zobacz więcej szczegółów w wierszu poleceń od Apple na: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/instruments.1.html

Plus post od użytkownika Stacktrace w wierszu poleceń uruchom z iPhone IOS UIAutomation Czy instrumenty mogą być używane za pomocą wiersza poleceń?

Hope this helps-have a miłego dnia:)

 22
Author: user887803,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:15

Zaktualizowano i Przetestowano dla Xcode 6.0.1:

instruments -w 'iPhone 5s' \
    -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \
    '/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/'

Zainspirowany przez innych, którzy napisali wrappery linii poleceń, które nie były aktualizowane przez jakiś czas, a tym samym nie działały (i wydawały się trudne do zrozumienia, ponieważ skusiłem się na ich wskrzeszenie), napisałem skrypt powłoki bash, który moim zdaniem będzie bardziej przejrzysty, lżejszy, a tym samym łatwiejszy w utrzymaniu.

Możesz znaleźć projekt na github i towarzyszący Blog Post .

 8
Author: idStar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-20 22:23:45

Zamiast długiego polecenia instruments napisałem wrapper, który jest łatwiejszy w użyciu: https://github.com/enriquez/uiauto

Aby go użyć, wystarczy wykonać następujące czynności:

  1. Zbuduj swój projekt w Xcode dla symulatora(wsparcie urządzenia wkrótce).
  2. cd to where your project ' s .xcodeproj lub .XCWORKSPACE znajduje.
  3. Run uiauto exec path/to/your/script.js.
 6
Author: Michael Enriquez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-17 18:28:19

Z każdą nową wersją Xcode ścieżka szablonu wydaje się być zmieniana. Jednym z najlepszych sposobów znalezienia ścieżki szablonu jest polecenie instruments -s, które wyświetli listę wszystkich dostępnych szablonów.

 4
Author: harish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-10 23:00:51

Również bardzo zainteresowałem się tym tematem. To, co znalazłem, to odniesienie , które pokazuje, że istnieje sposób uruchamiania instrumentów z terminala z predefiniowanym szablonem, miejscem, w którym powinny być przechowywane wyniki, i urządzeniem docelowym, na którym powinien działać, i innymi parametrami. Możesz również po prostu wpisać terminal instruments, aby uzyskać listę parametrów.

Nie udało mi się uruchomić automatyzacji interfejsu na iPhonie w ten sposób. Nie próbowałem simulator lub mac app, ponieważ jestem głównie zainteresowany w urządzeniu. Zamieściłem tu pytanie na SO ale z braku jakiejkolwiek odpowiedzi myślę, że niewiele osób używa w ten sposób instrumentów.

Ale jest nadzieja, aby go uruchomić, ponieważ jest t jego krótki wątek na apple developer forum (musisz się zalogować), które sugerują, że można to zrobić. Spróbuję tego później, jeśli mi się uda, opublikuję rozwiązanie tutaj. Jeśli uda Ci się to uruchomić, napisz tutaj, jak ja (i prawdopodobnie inni) będą zainteresowany.

 3
Author: yoosiba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:15

Istnieje narzędzie do nagrywania / odtwarzania zdarzeń interfejsu użytkownika ze środowiskiem powłoki i pisania skryptów za pomocą ruby.

Tworzenie interaktywnych aplikacji iPhone http://github.com/wookay/libcat

 2
Author: WooKyoung Noh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-24 14:29:09

Wpisz to polecenie w Terminal instruments-s, otrzymasz ścieżkę szablonu po typie:

instruments -t <template path> <Application file path> -e UIASCRIPT <script.js> UIARESULTPATH <result_path>
 0
Author: Prasad Rampilla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 01:01:57

Aby to zrobić na symulatorze iOS, należy wykonać następujące czynności:]}

instruments -w 'iPhone 5s (9.1)' \
-t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \
'justTheNameOfYourAppDontAddExtension' \
-e UIASCRIPT '/Users/barry/Dropbox/Public/login.js' \
-e UIARESULTSPATH '/Users/barry/Dropbox/Public/
 0
Author: barryjones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 01:02:45