Можно ли запустить инструмент автоматизации пользовательского интерфейса из командной строки?
Есть ли способ открыть UIAutomation
инструмент через терминал?
Можно ли будет написать AppleScript
открыть Apple UIAutomation
инструмент и загрузить приложение для тестирования?
Можете ли вы сказать мне, есть ли способ через сценарии или через командную строку, которую мы можем открыть UIAutomation
и выберите приложение для тестирования, а также выберите сценарий тестирования?
9 ответов
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/ Библиотека / Поддержка приложений /iPhone Simulator/5.0/ Приложения /AA6BA2E1-D505-4864-BECC-29ADEE28194D/name_of_application.app
этот путь может отличаться для всех остальных, в зависимости от того, какую версию iOS вы используете на симуляторе. Также не забудьте поставить этот путь в двойных кавычках.
Path_to_script.js должен быть ПОЛНЫМ ПУТЬМ, куда сохранен ваш скрипт автоматизации, написанный на javascript. Также не забудьте поставить этот путь в двойных кавычках.
Наконец, путь к выходным результатам - это путь, по которому вы хотите сохранить выходные результаты. Также не забудьте поставить этот путь в двойных кавычках.
Это были те моменты, по которым я упускал, и поэтому получал некоторые из ошибок, упомянутых выше.
Запуск UIAutomation через командную строку Вы можете сделать это сейчас, начиная с XCode 4.2 для iOS5 beta 4. Из командной строки вы можете запускать инструменты, указывающие на шаблон автоматизации, и указывать в качестве переменных среды тестовый скрипт, который вы хотите выполнить, и путь назначения для результатов:
instruments -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 Можно ли использовать инструменты с помощью командной строки?
Надеюсь, это поможет - хорошего дня:)
Обновлен и протестирован для 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, который я Поверьте, будет более прозрачным, легче и, следовательно, легче поддерживать.
Вы можете найти проект на github и сопутствующее сообщение в блоге.
Вместо длинного instruments
Команда, я написал оболочку, которая проще в использовании: https://github.com/enriquez/uiauto
Чтобы использовать его, вам просто нужно сделать следующее:
- Создайте свой проект в Xcode для симулятора (поддержка устройства скоро будет).
- Перейдите в папку, в которой находится.xcodeproj или.xcworkspace вашего проекта.
- Бежать
uiauto exec path/to/your/script.js
,
С каждой новой версией Xcode путь к шаблону, похоже, меняется. Один из лучших способов узнать путь к шаблону instruments -s
команда, которая будет перечислять все доступные шаблоны.
Я тоже очень заинтересован в этой теме. На самом деле я обнаружил, что эта ссылка показывает, что существует способ запуска приборов с терминала с предварительно определенным шаблоном, местом, где должны храниться результаты, и целевым устройством, на котором он должен работать, и другими параметрами. Вы также можете просто ввести в терминал instruments
получить список параметров.
Мне не удалось запустить UI Automation на iPhone таким образом. Я не пробовал симулятор или приложение для Mac, так как меня больше всего интересует устройство. Я разместил здесь вопрос о SO, но из-за отсутствия какого-либо ответа, я думаю, что не многие люди используют инструменты таким образом.
Но есть надежда запустить его, так как на форуме разработчиков Apple есть небольшая ветка (вам нужно войти в систему), в которой предлагается сделать это. Я попробую это позже, если я добьюсь успеха, я опубликую решение здесь. Если вам удастся сделать так, чтобы ходатайства выполнялись, опубликуйте свой путь здесь, как мне (и, вероятно, другим) будет интересно
Есть инструмент для записи / воспроизведения событий пользовательского интерфейса с оболочкой и может писать сценарий с помощью ruby.
разработка интерактивных приложений для iPhone http://github.com/wookay/libcat
Правильный способ сделать это на симуляторе 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/
Введите эту команду в терминальных инструментах -s, после шаблона вы получите путь к шаблону:
instruments -t <template path> <Application file path> -e UIASCRIPT <script.js> UIARESULTPATH <result_path>