Подтвердить что ты не робот

Может ли инструмент автоматизации пользовательского интерфейса запускаться из командной строки?

Есть ли способ открыть инструмент UIAutomation через терминал?

Можно ли написать AppleScript, чтобы открыть инструмент Apple UIAutomation и загрузить приложение для тестирования?

Не могли бы вы рассказать мне, есть ли какой-либо путь через скриптинг или через командную строку, мы можем открыть UIAutomation и выбрать приложение для тестирования, а также выбрать тест script?

4b9b3361

Ответ 1

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>

для 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>

для 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>

Есть несколько важных замечаний:

  • параметр -w не требуется, если вы не хотите запускать скрипты на своем устройстве. Если вы хотите запустить скрипты на симуляторе, просто опустите этот параметр из команды.
  • full_path_to_application - это путь к вашему файлу .app, который создается вашим симулятором. Для меня путь был

    /Пользователи/fwasim/Library/Поддержка приложений /iPhone Simulator/5.0/Приложения/AA6BA2E1-D505-4864-BECC-29ADEE28194D/name_of_application.app

    этот путь может отличаться для всех остальных, в зависимости от того, какая версия iOS выполняется на вашем симуляторе. Также не забудьте поставить этот путь в двойные кавычки.

  • Путь path_to_script.js должен быть FULL PATH, где сохраняется ваша автоматизация script, написанная в javascript. Также не забудьте поставить этот путь в двойные кавычки.

  • Последний путь результатов вывода - это путь, по которому вы хотите сохранить результаты вывода. Также не забудьте поставить этот путь в двойные кавычки.

Это были те моменты, в которых я отсутствовал, и таким образом получал некоторые из упомянутых выше ошибок.

Ответ 2

Запуск UIAutomation через командную строку Вы можете сделать это сейчас, начиная с XCode 4.2 для iOS5 beta 4 Из командной строки вы можете запускать инструменты, указывающие на шаблон автоматизации, и указывать в качестве переменных среды тестовый script, который вы хотите выполнить, и путь назначения для результатов:

tools -w -t/Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate -e UIASCRIPT

Выше из этого источника url: http://dev-ios.blogspot.com/2011/07/starting-uiautomation-via-command-line.html

Подробнее о командной строке от Apple: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/instruments.1.html

Плюс сообщение от пользователя Stacktrace в командной строке с помощью iphone iOS UIAutomation Можно ли использовать инструменты с помощью командной строки?

Надеюсь, что это поможет - хорошо провести время:)

Ответ 3

Обновлено и протестировано для 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/'

Вдохновленный другими, которые писали обертки командной строки, которые не обновлялись в то время, и, следовательно, не работали (и, казалось, было трудно понять, как я был соблазн воскресить их), я написал bash shell script, который, я считаю, будет более прозрачным, легче и, следовательно, легче поддерживать.

Вы можете найти проект github и блог

Ответ 4

Вместо длинной команды instruments я написал более удобную оболочку: https://github.com/enriquez/uiauto

Чтобы использовать его, вам просто нужно сделать следующее:

  • Создайте свой проект в Xcode для симулятора (поддержка устройств скоро появится).
  • cd, где находится ваш проект .xcodeproj или .xcworkspace.
  • Выполнить uiauto exec path/to/your/script.js.

Ответ 5

С каждой новой версией Xcode путь шаблона, кажется, изменяется. Один из лучших способов найти путь к шаблону - это команда instruments -s, в которой перечислены все доступные шаблоны.

Ответ 6

Я также очень заинтересовался этой темой. Фактически я нашел это reference, который показывает, что существует способ запуска инструментов с терминала с предопределенным шаблоном, местом, где должны храниться результаты, и целевое устройство, на котором он должен работать, и другие параметры. Вы также можете просто ввести терминал instruments, чтобы получить список параметров.

Мне не удалось запустить UI Automation на iPhone таким образом. Я не пробовал симулятор или приложение для Mac, поскольку меня больше всего интересует устройство. Я разместил вопрос здесь на SO, но из-за отсутствия ответа я думаю, что не так много людей используют инструменты таким образом.

Но есть надежда на его запуск, так как есть t его короткая тема на форуме разработчиков Apple (вам нужно войти в систему) которые предполагают, что это можно сделать. Я буду пытаться это позже, если я добьюсь успеха, я отправлю решение здесь. Если вам удастся сделать это, проголосуйте сюда, как мне (и, возможно, другим) будет интересно.

Ответ 7

есть инструмент для записи/воспроизведения UI-событий со средой оболочки и может написать script с ruby.

интерактивная разработка приложений для iPhone http://github.com/wookay/libcat

Ответ 8

Введите эту команду в терминальные инструменты -s, вы получите путь к шаблону после типа:

instruments -t <template path> <Application file path> -e UIASCRIPT <script.js> UIARESULTPATH <result_path>

Ответ 9

Правильный способ сделать это на iOS-симуляторе выглядит следующим образом:

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/